System Templates version 1.31.0 and higher implementation - artifactory

I have upgraded my cloud Artifactory to "7.52.0".
Prior to the upgrade I was using System Templates to deploy my pipelines.
Although after the upgrade there is still backward compatibility, The new way to deploy and use System Templates for creating new pipelines is not working for me.
From the release notes I got to this link to configure System Templates in the new way.
https://www.jfrog.com/confluence/display/JFROG/System+Templates
So in my repository A I have 2 files 'pipelines.yml' and 'values.yml'
pipelines.yml is configured as follows:
valuesFilePath: ./values.yml
Include:
template: myTemplates/TestTemplate/1.0.0
My values file contains values for the TestTemplate.
Then I go to https://example.jfrog.io/ui/admin/pipelines/pipelineSources and I try to create a new pipeline from repository A.
Looking at https://example.jfrog.io/ui/pipelines/myPipelines/myPipelines I don't see any pipeline created from the template.
Is that the right way to implement the new System Template?
I have also made sure that the templates are in the Artifactory by checking:
https://example.jfrog.io/ui/pipelines/templates
and also in the Artifactory directory tree.
Currently I am using the REST API in order to CRUD my Template Sources(https://example.jfrog.io/ui/pipelines/sources) and also use the REST API to create a new pipelines sources from a system template (apparently this is the old way).
As after the upgrade creating a source pipeline doesn't sync the old/new templates nor does it create a new pipeline from a system template that is located in the Artifactory.

You need to use the syntax documented in the Global template link.
Using the "jfrog/PublishTemplate" global template documentation
https://www.jfrog.com/confluence/display/JFROG/Global+Templates . I have noticed that in order to create and upload a system template you need to use the following syntax:
valuesFilePath: ./values.yml
include:
template: jfrog/<global_template_name>/<template_version>
According to the system template documentation this is the syntax that got me confused:
valuesFilePath: ./values.yml
Include:
template: jfrog/PublishTemplate/1.0.0
So I have used capital "I" instead of small "i" and bad indentation in order to create a new pipeline from my system template, which failed.
You use the Global template "PublishTemplate" for uploading your system template into your artifactory.
And then use the uploaded templates in order to create your new pipelines.

Related

Add permissions for TDE templates using ml-gradle

We are using ml-gradle version 4.1.1 to deploy the XQuery code and data to app-modules database. Now ,we are trying to update the script to deploy TDE templates to app specific Schemas database.
Project path used for templates : /src/main/ml-schemas/tde/sample.tde
And the /tde/ folder have multiple templates in it.
To deploy the templates to App specific Schemas database, I have followed the below steps .
1.Places all the templated under /src/main/ml-schemas/tde/
2.Added mlSchemasDatabaseName=app-Schemas and mlSchemaPaths=src/main/ml-schemas
To add permissions to all the templates, added permission.properties under ml-schemas directory project path
permission.properties content:
*=ml-admin,read,ml-admin,execute,ml-reader,read
The TDE templates are getting deployed properly with TDE collection but permissions are not getting added to it.
Can anyone please help me on this to add permissions to the templates?

How to extract translations from a custom vendors bundle

I actually trying to create my own reusable bundle. I created a Demo project that include my custom bundle as dependency using symlink composer config.
Actually, I tried to extract some translation keys from my custom bundle into the demo project.
But when I launch the command bin/console translation:update fr --dump-messages there is no entry from my bundle.
What I want to extract is some constant keys that I want to translate.
For example, in MyCustomClass there is some status in an array. So I don't know if there is an Interface that I can implement to auto extract my translation keys.
I'm using:
Symfony Framework 5.3.8
Symfony Translation 5.3.9
Thanks

Custom Workflow _ Alfresco Community

I need to create a new Custom Workflow in Alfresco.
I followed this tutorial : Creating Custom Workflow in Alfresco
But I couldn't find the two files in my Alfresco:
share-workflow-form-config.xml that must be in
Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco
bootstrap-context.xml that must be in
Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco
I'm using Alfresco Community Edition 5.1 under Windows 8
Can I add those two files to My Alfresco ? If so, where can I find them ?
You should not be modifying the two files that you have listed. It goes against best practices and they are no longer exposed in exploded webapps (you can find them inside of their respective jars).
For tutorial purposes you should use the shared classpath folder. If you're using the all-in-one installer, then that location is: $CATALINA_HOME/shared/classes/alfresco/
As an example: C:/alfresco-one/tomcat/shared/classes/alfresco
In a simplistic approach, you should add your Share form config for workflows to the share-config-custom.xml file located in the shared web-extension location ($CATALINA_HOME/shared/classes/alfresco/web-extension/share-config-custom.xml)
Add your bootstrap config to a custom context file in the shared extension location:
($CATALINA_HOME/shared/classes/alfresco/extension/foobar-bootstrap-context.xml)

Equivalent of Laravel Seeders on Symfony?

I'm developing a web site with Symfony. I'm new on this framework. Before i used Laravel 5.0 and I need to have a database with rows.
I create my db with command prompt but now I don't find how to seed it.
There is a equivalent of Laravel seeders on Symfony?
No. Seeding was a feature added by Laravel. You’ll need to use a third-party package to load seeds/fixtures into your application: http://www.sitepoint.com/data-fixtures-symfony2/
All the answers here are a bit outdated and this question is the first result on google so for future readers:
Since Symfony 3 there is an official bundle for this very purpose
Installation: composer require --dev doctrine/doctrine-fixtures-bundle
Then write your fixtures in src/DataFixtures and run php bin/console doctrine:fixtures:load
Try this package https://packagist.org/packages/evotodi/seed-bundle. Looks like it's what you need.
Their readme
Symfony/Doctrine Seed Bundle
Used to load/unload seed data from the database. Example would be to load a table with a list of states and abbreviations, or populate the users table with initial admin user(s). Unlike the DoctrineFixturesBundle which is mainly for development this bundle is for seeding the database before the initial push to production.

How can I implement multi-tenant translations in Symfony2

I am developing a multi-tenant capable Symfony2 solution and was wondering if there was a way to use different translations files for each tenant, as the default translations files at present contain e.g. references to the initial tenant's company name, etc.
I am using the Liip Theme Bundle (https://github.com/liip/LiipThemeBundle) to allow tenants to use our codebase, layering their own design on top, but cannot work out a simple and scalable way to allow them to use their own translations files.
There was talk on the theme bundle git repo about this, but I don't believe anything was ever implemented (https://github.com/liip/LiipThemeBundle/issues/12). Ideally I'd like to follow the directory structure they suggested in that thread, e.g.
root
- app
- Resources
- themes
- <theme name>
- public
- translations (this would be new)
- views
as this would allow us to continue the practice of themes being self-contained git submodules that a tenant can maintain themselves.
I ended up using the directory structure I outlined above, and had a console command which symlinked the translations override file in app/Resources/translations. This command ran during my deploy script, and I then created my own "trans" twig function which checked if an override file should be used.
Not the cleanest, but definitely works the way I wanted.

Resources