I'm using Alfresco one 5.1 Enterprise edition. I've created a custom content model using the Model Manager in Alfresco & it has some custom properties (ds:prority, ds:action, ds:actionText, ds:linkURL, etc) associated with it. I would like to customize Share UI to include these custom properties alongside the default cm:content properties (cm:content, cm:description, cm:title, etc). I'm referring to Jeff Potts post on ecmarchitect to use custom model & share UI customization.
Now my question is, can I use the model created in Alfresco Model Manager & create a customized Share form along with these custom properties. All the examples for this process I see content model definition done in a Alfresco repo AMP and then have the Share form customization done in an Alfresco share amp. Can I create the share AMP alone (for my Share UI Customization) & still refer the model which I've already created in Alfresco Model Manager ?
You can use model console to list out created & deployed models.
http://IP:Port/alfresco/s/enterprise/admin/admin-repoconsole
Command : show models
If you're able to see your model with loaded (isLoaded) status as "Yes" then you can deploy on the share amp should be fine.
Have you created this model in your development machine or production machine?
If it is development machine, you need the Repo amp to deploy the model in the production machine.
##
## Model Admin Commands
##
ok> show models
Show deployed models - that are stored in the repository data dictionary.
ok> deploy model
Upload model to repository and load into runtime data dictionary. This will also
set the repository model as active.
If a model is already deployed then it will be updated and re-deployed.
e.g. deploy model alfresco/extension/exampleModel.xml
ok> undeploy model
Permanently delete model from repository (all versions) and unload from runtime data dictionary.
e.g. undeploy model exampleModel.xml
ok> activate model
Set repository model to active and load into runtime data dictionary.
e.g. activate model exampleModel.xml
ok> deactivate model
Set repository model to inactive and unload from runtime data dictionary.
e.g. deactivate model exampleModel.xml
As you're using Enterpise edition, you can get in touch with Alfresco support also.
Hope this helps you.
As pointed out by Murali, once the model is active, we can create a Share AMP as pointed out in Jeff Potts tutorial, create a share amp archive using maven target (mvn package) and deploy the same to alfresco amps_share folder (/alfresco_one/amps_share) and then apply the same with the apply_amps.sh command in /bin/apply_amps.sh and then restart alfresco.
Note for my requirement I needed the custom properties to be part of inline-edit screen of share only. So I added the
<config evaluator="node-type" condition="<my model>">
...
<form id="doclib-inline-edit">
...
<show id="my:property" force="true" />
...
...
</config>
Initially I had cm:content in the condition evaluator & it didn't work. Only after updating it to my model name it started reflecting the changes.
Note: without restarting Alfresco the changes are not reflecting.
Related
I'm also one of many who has begun development work in Business Central. I'm currently in-charge of migrating C/SIDE to AL. My question is, is there a way to identify whether something is in Object form or Extension form? The documentation I have from a third-party vendor says:
"All of company XYZ's products are available in both Object form and in Extension form. Existing customers who want to migrate from the Object version of a solution to the App version will need to go through a migration...."
First a little clarification:
Object form means that the modifications have been done through C/Side.
Extension form means that the modifications are isolated within their own package with one or more dependencies to other extensions. These are not visible in the C/Side Object Designer.
When modifications are done through C/Side the system generates symbols to simulate the extension interface. This provides the needed features to extend C/Side objects.
The easiest way to determine if a modification is in Object or Extension form is to check which extensions are installed on the system. This is can be done in two ways:
In the Business Central client go the the Extension Mangement page. Here all installed extensions will be listed (apart from a few hidden Microsoft extensions that you need not worry about).
Run the command Get-NAVAppInfo through PowerShell. This will list all installed extensions on the requested tenant.
On our test environment we created custom Form Recognizer model. Is there a way to reuse this model on PROD environment? Prod environment is under different subscription.
I cannot find a way to somehow "export" model and move it to other environment. Do I need to create new model from scratch?
You can use the Copy Model API to copy a model between regions and subscriptions. See here for more details -
How to Copy API - https://learn.microsoft.com/en-us/azure/cognitive-services/form-recognizer/disaster-recovery#copy-api-overview
Copy Model API reference - https://westcentralus.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-1-preview-2/operations/CopyCustomFormModel
currently im trying to modify my model from viewer with help of design automation api, it is possible to get properties of revit file but how to modify those properties and view back to the viewer
Yes of course - possible workflow would be:
Create a plugin to modify your model - see this code sample here
Bundle your plugin to upload to Forge and define an activity for execution - see tutorial here
Load the model into Viewer after translating it with Model Derivative
Collect the data/parameter from user input and/or model properties/metadata
Call a workitem with the parameters and execute the plugin, can upload the modified output as versioned items to track changes
Use webhooks to get notified of new version being added and trigger a translation of it, or you can upload the output to your own app and trigger upload and translation with your own workflow
Load the modified model back into Viewer
See here for our official tutorial on Design Automation.
For a build run in artifactory, exists a tab named "Environment" which contains a section named "System Variables".
Link to image: Environment tab with variables
I need to add some properties there via REST API or artifactoy groovy public api (PAPI).
I managed to create build info with properties (via REST API), but now I need to update it with the properties. Is this possible?
The Environment tab is created according to the build-info JSON deployed to Artifactory using the /api/build REST API. The build-info structure is available at the build-info github project's README file here:
https://github.com/JFrogDev/build-info
When building the JSON you can add properties to it, by adding them to the "properties" section as described in the the above README. This is probably how you added the properties to the build run.
The build-info for a specific build run however is immutable in Artifactory and cannot be modified after it is deployed.
I'm trying to achieve a repeatable deployment of Plone for a site, and using buildout, basically following Martin Aspeli's book Professional Plone 4 Development. I can set up the system with my source products <site>.policy and <site>.theme, and have activated the theme automatically, but when I run buildout, I still have to instantiate a Plone site and activate the policy product, before creating the standard objects for the site.
Can buildout check for the existence of content objects like the Plone site object or particular folders during setup, and create them if they don't exist with the right settings? Can I do that in a separate <site>.content product, or should this be handled in the <site>.policy?
In principle buildout can do anything you can code, as long as you create a recipe to do the thing for you.
Luckily, someone already created a recipe to create the plone site for you, called collective.recipe.plonesite:
[buildout]
parts =
...
plonesite
[plonesite]
recipe = collective.recipe.plonesite
site-id = <site>
profiles-initial =
<site>.policy.profile-default
post-extras =
${buildout}/src/<site>.content/site/content/create_content.py
The recipe provides several hooks that let you control site creation, and execute system commands before or after the site is created or extra python code before or after GS profiles are run.
In the above example post-extras runs a create_content.py script with the variables app and site set:
from Products.CMFPlone.utils import _createObjectByType
if 'someobject' not in site:
_createObjectByType('SomeType', site, 'someobject', title='Foo Bar')