AEM 6.5 , how to change Workflow location to Model/subfolder - workflow

AEM 6.5 default location for Workflow model is : /conf/global/settings/workflow/models/MyCustomWF. How can i make the WF model location inside my project folder i.e /conf/global/settings/workflow/models/My Project/MyCustomWF.
I tried moving my model to folder via CRX. It result in Model.html page goes blank.And I cant see any option in classic or touch UI to decide the project specific location for the Workflow.
Thanks in advance.

I got the answer after multiple attempts. You just need to shift your workflow node in the folder(created by you) and go to touch UI and open the new workflow by directly hitting the Workflow MODEL and not navigating through the naviagtion Model tile. After having Model opened in the Edit mode and click on sync model. Now your workflow is in new folder created by you.

Related

Can I change node proeprty value in a AEM custom worklfow process?

I have created a new workflow for activate later. It includes a custom workflow process step written by me. The custom step changes some properties of the payload step and then Activate Page process is called to activate the page. The changed properties are reflected in the author instance but not on the publish instance. Just wanted to confirm if this is possible or the workflow creates a copy of the node and then executes on it (like passing a parameter to a function)?
Thanks in advance :D
It should work fine, however you have to commit changes using resourceResolver.commit()

How do I add a plugin to an Oomph Product setup?

I would like to create a custom Eclipse that has Mybatipse along with some other plugins installed by default. I am using the Oomph Product setup within Eclipse to create my product. My guess is to add a requirement in the P2 director node, but I don't know how to set it up correctly. I have seen examples that put the name of the plugin in the Name section of a Requirement like this org.eclipse.emf.compare.source.feature.group but I don't know where to get that info from for the plugins I want. Am I even heading in the right direction?
From their homepage, the P2 Update Site for this plugin is:
http://dl.bintray.com/harawata/eclipse
Step 1:
In the the "Repository Explorer (Oomph)" view (you may need to add this view in your Workbench), you can see the plugin:
Paste the Update site in the first field.
Select "MyBatipse" item
You will see the available version.
Step 2:
In the Setup editor of your product setup file, Create a new "P2 Director" Task:
And again create a "Repository" Child in the new created node.
Step 3:
Double click on the "Repository" node in order to see the properties (a new view should appear. Sometimes you need to do this operation twice bevor you see the properties).
In URL enter the P2 Update site.
Step 4:
Back to your Repository explorer view, drag and drop "MyBatipse" on your "P2 Director" node, it will appear as child node.
Note: If you want fixed a precise version of the plugin, you can also drag and drop one of the version from the Repository explorer
Result:
If you open your *.setup File with a text editor, you should se a section like this:
<setupTask
xsi:type="setup.p2:P2Task">
<requirement
name="net.harawata.mybatipse.feature.feature.group"/>
<repository
url="http://dl.bintray.com/harawata/eclipse"/>
</setupTask>

Set workflow model id (path)

When I create a new workflow model in AEM, it gets created under /etc/workflow/models. How do I get it to be created under a different path like /etc/workflow/models/myapp ? The only way I can think of is changing the path in CRXDE after the workflow gets created. Wanted so if there is a better way to do this.
Better way to move workflow to another place would be:
go to /miscadmin#/etc/workflow/models
use button "Move..."
Unfortunately, it seems, that there is no easy way to change place, where worflows, which are created through UI, are stored. To do this you should:
override "/libs/cq/workflow/widgets/source/widget/ModelsPanel.js" in you project, where you can find action this.newAction, where you will be able to change propery parentPath to /etc/workflow/models/myapp. But you can run into troubles after upgrading to another version of AEM.
also you can be interested in service Granite Workflow Service where you can set (through /system/console/configMgr) path to your models, which should be shown in Workflow Console /libs/cq/workflow/content/console.html. (Also it's applicable to CQ 5.6.1, for some older versions, you should configure Day CQ Workflow Service).

In CQ5, my responsive emulator devices list is empty

To start, I followed these directions exactly as it's stated: http://dev.day.com/docs/en/cq/5-6/developing/mobile/responsive.html
The problem is, despite all of that, my Devices dropdown on the sidekick in preview mode is empty.
The list works without issue in the Geometrixx Media without issue.
I made sure I set the cq:deviceGroups and the sling:OsgiConfig as required, and also included the simulator.js in the head tags.
Edit: I have found that if I set the resourceType on the root level page to geometrixx-media/components/page, which is their working demo, it works. I have completely removed all jsp and config items from that component page and it still continues to work anyways.
Does anyone know of something that is missing from the documents, and how to fix the issue?
Thanks.
This is what I did to resolve this issue:
I am going to assume your application name is jason-riis
In CRXDE|Lite create a config folder in /apps/jason-riis/
Now create a node of:
TYPE=sling:OsgiConfig
NAME=com.day.cq.wcm.mobile.core.impl.MobileEmulatorProvider-<*alias>
*alias could be anything, I gave my application name. What it does is it will get you a unique PID when you look at it in configuration Manager
If you go to your configuration manager now, you should be able to see two MobileEmulatorProvider config settings.
Add a node property to node you just created:
NAME=mobile.resourceTypes
TYPE=String[] (you have to click multi at the end of the value textbox)
VALUE=jason-riis/components/<*page>
*page is all the components that has sling:resourceSuperType of foundation/components/page and it is a multi array so it should look like this
jason-riis/components/page, jason-riis/components/widepage, jason-riis/components/newspage
I assume you already have the cq:include for simulation in your header. This makes the devices button appear in preview mode.
Last thing is, go to your website root page's jcr:content [/content/jason-riis/jcr:content] and add node property
NAME=cq:deviceGroups
TYPE=String[]
*VALUE=/etc/mobile/groups/touch, /etc/mobile/groups/smart
*If you go to this etc path in CRXDE|Lite; you will see more relevant information in jcr:content node. This will help you in creating your own custom emulator list.
You should be able to see the dropdown now, with options of iPhone and iPad and all. I know AEM docs are frustrating, let me know if there is any confusion.

Plone Workflow: How to check for multiple attributes of an object?

In our project we would like to have a workflow which checks whether all three signatures (implemented through booleans) have been added to an object of type "Project" before it continues to the next state.
Unfortunately this doesn't seem to be possible while editing the workflow through the web and we haven't been able to find it in the documentation either.
How would we do it?
Thank you very much for any assistance.
Use the transition Guard expression to check for this:
python: here.getFirstBoolean() and here.getSecondBoolean() and here.getThirdBoolean()
This can be access through the ZMI:
append /manage onto site root
go to "portal_workflow"
click the "contents" tab
click on the workflow you're using
click the transitions
you should see the area for a guard expression
You could put the login into a Script in the custom folder also if you wanted to make it easier and do it all TTW.