can't do rollout selected components function in aem - aem

I can select component by changing Editbar.js as mentioned below link.
Unable to select the components on a page
but after checking components that I want to rollout, then select rollout selec ted components, but keep getting alert message saying that you have to select at leaste one component.
why why? T_T

Try selecting the component(s) after you select the "Rollout selected components" option and before you click the "Next" button.

Related

Override "Paste As" dialog

When I drag Class element onto my diagram there is a window fired "Paste Class1", where I can choose the drop type, such as "Link","Property","Instance (Object)" and so.
I need to change that behavior - when I drag from ProjectBrowser I need apply only drop type "Link" and hide any variants from end user. Is it possible to do that via addin or anything else ?
Sparx 13.5
No you can't change the behavior of that dialog.
What you can do in an add-in is overrule whatever the user chose after the fact, and make it into a link anyway. (e.g. deleting the instance from the model and set the elementID of the classifier in the DiagramObject instead)
There is also a checkbox option to only show this window when Ctrl-drag is used. That might help to avoid mishaps as well.

How do I add a column with a new status in Jira?

I've modified the board and added a column in Jira but there are no status for it and it doesn't show on the board, how to fix and have the new column show up on the board and work correctly ?
This has confused me several times so I'm documenting the steps here.
Go to Board Settings
Click on columns
Click 'Add column' to add the new column - Code Review in my case
You will notice however that the board say
This column will not show on the board without a status
You may also notice that the min/max values cannot be entered
So you (think) next go to Issue Types...
WRONG !
Actually you want to go to
Workflows
You'll see a workflow called something like Software Simplified Workflow for Project [..].
Click on the Actions edit link (the pen symbol)
Now you will be presented with a diagram showing the status'.
Click + Add status and add the new status, e.g. Code Review
Make sure you allow transitions from the other status (it is unchecked by default, so you should usually check it)
It is when you fail to do this that you can run into the 'can't drop ticket into column problem'
Next select the status category. Code Review was obviously "in-progress".
This allows for automatic ticket status transitions.
Arrange the new diagram to reflect the new status (this is for appearance in the diagram only).
Finally the last step is that you have to publish the change ('draft')
Now you can see the "unmapped status"
and you can move them into then new column
When you do all this, finally you can reload the board and see the new status!
Whew !!!

Scheduled pages report from AEM

Is there any way to view a report for all pages scheduled for activate later from AEM? I am able to see one report under Tools (Workflow Report) which shows the total count of "Scheduled Page/Asset Activation", but I want to see all page information about scheduled page activations including time for activation.
You can view all running workflow instances by navigating to
http://localhost:4502/libs/cq/workflow/content/console.html and clicking on the the Instances tab. Look for Scheduled Page/Asset Activation under the Workflow Model column. You can group and sort by that column.
If you want to search from within your code, you can find the resources waiting to be activated with these JCR-SQL2 or XPATH queries:
SELECT * FROM [cq:Workflow] AS s WHERE ISDESCENDANTNODE(s,'/etc/workflow/instances') AND s.[modelId] = '/etc/workflow/models/scheduled_activation/jcr:content/model' AND s.[status] = 'RUNNING'
/jcr:root/etc/workflow/instances//*[#modelId='/etc/workflow/models/scheduled_activation/jcr:content/model' and #status='RUNNING']
However, it sounds like what you want to do is create a custom report:
Navigate to http://localhost:4502/miscadmin.
Open Reports in the left pane.
Click New... > New Page... in the right pane.
Select the Workflow Instance Report template and give it a title.
Open the new page.
Drag Model from the sidekick into the parsys. The report should immediately populate.
Drag Payload from the sidekick into the title bar where Model already exists.
Click the dropdown arrow in the Model column, select Filter, equals and enter Scheduled Page/Asset Activation.
Drag Status from the sidekick into the title bar where Model and Payload already exist.
Click the dropdown arrow in the Status column, select Filter, equals and enter RUNNING.
You can drop in any other columns that you wish. You can save the report and set it up to create snapshots as well.
This will give you a report of pages scheduled to be activated. Unfortunately, it won't tell you the time that the page will be activated. In order to accomplish this you will have to create a new reporting column component.
Copy /libs/cq/reporting/components/instancereport/payloadcol into your apps folder renaming as something like scheduledcol.
Look at the scheduledcol node and notice the jcr:primaryType, componentGroup and sling:resourceSuperType; it's a regular CQ component.
Update the jcr:title property to Scheduled.
Update the scheduledcol/definitions/queryBuilder node's property property. You can go with either ./data/metaData/comment which gives you plain text or you can use ./data/metaData/absoluteTime which gives you the date and time in milliseconds when the activation will occur. Look at a workflow instance under /etc/workflow/instances/<date>/model_<number>/data/metaData and you'll see how the new component's queryBuilder property matches up.
Return to your report, refresh the page, and drag the new Scheduled component from the Sidekick onto your report.

jstree checkbox plugin and node link conflict

I am implementing jsTree with grid and checkbox plugin. All is working fine, but if I set jsTree a_attr.href, then it is conflicting with checkbox events.
So when I click on node - it should follow the link, if I click on checkbox - it should be marked. What I am doing wrong?
I created jsFiddle. But in this fiddle href attribute of link doesn't work.
Thanks!
jsTree will never follow the links, you have to redirect the user manually. To achieve that you need to decouple selection and checkboxes, so that checking a node does not select the node. Here is a demo: http://jsfiddle.net/dhskgky0/3/
The key is the checkbox config:
checkbox: {
//keep_selected_style:false,
tie_selection : false,
whole_node : false
},
Keep in mind you have to use a newer version (this demo uses 3.1.0) as the tie_selection option was not available in v.3.0.2 that you were using.

WWW::Selenium to capture component refresh

I am writing a perl script using WWW::Selenium module to automate a website.
I am not at all a web development guy and have no idea about web technologies.
Let me try to explain the issue in layman terms.
I am dealing with a webpage, which has an order form with a button.
When I click the button, there is no page submit, but the button label changes.
Say for eg, the button goes through these changes when clicked multiple times.
Get Quote --> Order --> Confirm Order
Each time I click the button, there is no page refresh, but the button label keeps changing as above.
The id of the button is the same throughout, only the class changes.
How can I do this in WWW::Selenium?
Presently I am using wait_for_page_to_load(5000) after each click.
But the click is not having any effect on the label and I get error that timed out after 5000s.
Should I be using some other function to wait?
You could do something like this
$sel->wait_for_text_present_ok("Your text","time to wait","The message to display if this fails");
and an example below-
$sel->wait_for_text_present_ok("Order Confirmed","9000","The order was successfully placed");
Seems like you could use
$class = $sel->get_attribute($attribute_locator)
where the $attribute_locator is the button#class with button being the element locator that you clicked. Check if $class is the class you expect.