adobe-consulting-services / acs-aem-tools Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://adobe-consulting-services.github.io/acs-aem-tools/
Home Page: http://adobe-consulting-services.github.io/acs-aem-tools/
For long running queries, it can be unclear if the Explain Query request is running leading to multiple clicks of the "Explain Query" button. This is especially important if a user selected "Show execution time"
Installing via package manager in a clean instance of 5.6 or 5.6.1, the install appears to complete based on the activity log:
saving approx 605 nodes...
Package imported.
Package installed in 660ms.
... but the installing modal dialog remains on-screen.
The error log reports:
10.01.2014 12:33:51.811 INFO [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Started bundle com.adobe.acs.acs-aem-tools-bundle [309]
10.01.2014 12:33:51.811 INFO [OsgiInstallerImpl] org.apache.sling.installer.core.impl.tasks.BundleStartTask Could not start bundle com.adobe.acs.acs-aem-tools-bundle-livereload [310]. Reason: org.osgi.framework.BundleException: Unresolved constraint in bundle com.adobe.acs.acs-aem-tools-bundle-livereload [310]: Unable to resolve 310.0: missing requirement [310.0] osgi.wiring.package; (&(osgi.wiring.package=io.netty.bootstrap)(version>=4.0.0)(!(version>=5.0.0))). Will retry.
Would it be possible to provide the acs-aem-tools also in the Adobe Maven Repo (http://repo.adobe.com/nexus/content/groups/public/com/adobe/acs/) similar to aem-commons?
For cases where the LiveReload browser plugin isn't available (say on IE or a mobile device), we should support the optional injection of the LiveReload JS into the page.
It might be cool if the code display tool could handle a multiline stack trace. The input could be an ace editor instance with a custom mode to highlight displayable lines. A little regex should do to match lines with a classpath and line number pattern. Clicking the line would just reuse the current functionality.
The OOB Activate tree replication tool, does not allow to select a particular replication agent.
In the OOB Activate tree replication tool, if a user selects a content path and clicks on Activate then the content tree is replicated over each of the replication agents configured one by one.
I recently faced this scenario while working with a customer(where they wanted to re-activate the whole tree). The customer had already 2 publish instances which had replicated pages. Now they brought a new DR(disaster recovery) instance where they wanted to replicate the pages. But since the 2 publish instance already had the pages replicated, there was no need to do a blind re-activation. since, the tree activator OOB tool does not allow us to choose the replication agent we ended up replicating the pages to already existing instances.
Do you think it will be better if we have a new Activate Tree tool, which is more flexible in nature. By default, it will activate the tree over all the replication agents. But if the user wants, then he can select a particular replication agent.
Please let me know what do you guys think.
A WebUI that allows for 1 click disable of all Launchers, and then a one-click Revert button to revert all launches to their enabled/disabled state prior to disabling.It can be difficult to remember exactly what was turned off, as well as ensuring everything is disabled, and then re-enabled properly.
This is a handy shortcut when disabling launchers during tasks like Content Migration/ingest.
Add option to execute query and display raw run-time.
Current default prefixes are /cf, /content, and /etc, /editor.html should be one of these.
I was tracing back a syntax message in the log file and thought of this.
How hard would it be to add a column number indicator? Maybe line and column together.
TextMate does:
Line: XX Column: YY
Sublime does:
Line XX, Column YY
The acs-aem-tools-content package has 'Group' set to day_internal/consulting. This should probably be 'day/consulting' or 'Adobe/consulting'.
Generated pages are named "test-page-X" .. X starts w 2 instead of 1.
The total # of pages generated is correct, the page naming is off though.
Similar to Adobe-Consulting-Services/acs-aem-commons#293.
For any missing feature OR enhancement OOB component generally done by overriding from /libs tp /apps folder. Creating the folder structure takes additional time & for client libs you need to take additional steps to include property such as category and resource type etc.. The idea of the tool is to make that option easy, however this feature ideal location would be crxde light however my taught here is to have page help to achieve it. WDYT?
Since AEM6 does not index node names, the "default" query in the Query Editor is slow/heavy to compute. It would be better to perform a light-weight query to avoid putting accidental load on the server and/or cause wait-time frustrations.
We should use this opportunity to showcase a few other predicates as well.
type=nt:file
nodename=*.jar
orderby=@jcr:content/jcr:lastModified
orderby.sort=desc
Aem 5.6.1 - observed /etc/clientlibs/acs-commons/angularjs.min.js 404s - disabling minification in HTML library manager resolves the issue.
I've made the coding standards file for Checkstyle and PMD available as a Maven artifact rather than referecing the files via https://raw.github.com/. This will lead to (slightly) faster build times.
It would be great to have a direct link from the query editor to the Explain Query section (#50). That way it is easier to see whether the indices are correctly used for a specific query.
You can use com.day.cq.search.result.SearchResult.getQueryStatement, to get the related xpath expression for a query. Directly exposing the xpath query statement within the Query editor (in addition to the results) would be useful.
This is an interesting edge case. When versioned client libs (http://adobe-consulting-services.github.io/acs-aem-commons/features/versioned-clientlibs.html) are enabled, the JavaScript for the Ace editor in AEM Fiddle tries to load modules from /etc/clientlibs/acs-tools
instead of /etc/clientlibs/acs-tools/aceeditor
.
Multiple error executions in a row do not generate multiple notifications (since the success bit remains false).
Similar issue with input data points.
With params ..
type=cq:Page
path=/etc/acs-tools
property=jcr:content/jcr:title
property.value=Explain Query
property.value=Explain Query
is not parsed correctly so it is not sent as part of QB payload
Create Query Editor docs for the 0.0.4 release and update the promo on the ACS AEM Tools homepage to feature Query Editor.
I propose we move all vendor-provided files (aka files we dont create/cant license) under a /vendor/
folder-structure. This will keep the mvn licensing and jslint exclude rules simple (and static). It will also make it very clear what files we created and didn't.
Example for our clientlibs
For Components ..
*/apps/acs-tools/components/my-component/clientlibs/js/vendor/some-one-off-plugin.js
WDYT?
Inspired by #11
In a similar vein to #11, I'd love something to help minimize the # of HTTP requests stemming from OOTB clientlb deps.
Ex. (This example might not be accurate but gives you the gist)
categories=demo
embed=cq.jquery-ui
categories=cq.jquery-ui
dependencies=cq.jquery
So <cq:includeClientLib js="demo"/>
results in 2 HTTP Requests, one for demo.js
and one for jquery.js
rather than embedding jquery.js
IN demo.js
. This can easily spiral out into 10+ JS HTTP Requests which block on some browsers w lower concurrent limits and tracking down back-deps is a nightmare.
It would be awesome to hit a button and it would optimize it to:
categories=demo
embed=[cq.jquery,cq.jquery-ui]
TBH I have no idea how hard/possible this would be - from my experience of doing this manually before, that rabbit hole can get pretty deep. Since the JS blocks i'd imagine you would only see performance improvement since byte count should (?) stay the same, but # of blocking HTTP Requests should fall off (unless components are peppered w <cq:includeClientLib />
which force early inclusion (assuming all possible JS is loaded before /body
).
like on ACS AEM Commons.
please...
A tool to Globally search & replace contents to helps during situation incorrect migration, Batch modification of content, clean up junk data injected from various Adblock browser plugins. Idea is same as [1] & incorporating any feedback recieved from acs.
[1] http://aemfaq.blogspot.com/2013/06/content-find-and-replace-globally.html
P.S:- This is my first effort to open community in hithub. Excuse & feel free to correct for any mistakes. As per guidelines creating the discussion issue with the community before checking in the code and development.
Current master of ACS Commons has support to disable this via request attribute. ACS Commons has API provided that will set this attribute, however can be set manually too.
If ACS AEM Tools release is imminent, would like to get this hardcoded-value setting in so everything "just works" on next ACS Commons release.
Query editor tool seems not executing queries , the reason being query requests are not encoded properly , resulting 500 server error. The generated json request is [1] , and seeing an error in aem logs
java.lang.IllegalArgumentException: Invalid name: nt:file
nodename=*.jar
path=/apps/wbg/install
orderby=@jcr:content/jcr:lastModified
orderby.sort=desc
I have downloaded and installed the latest package acs-aem-tools-content-0.0.12.zip on arm 6.0 + mongo instance on my mac.
Have just seen AEM Fiddle demoed at AEM Hub. Great tool, but it seems to me that it would be beneficial to be able to load scripts in to Fiddle from the repo (i.e. from an existing component), and also save to the repo (i.e. back to an existing component).
Client library creation seems to follow a defined pattern, but I frequently forget some of the details. For example, I forget if it is depends vs. dependencies or embed vs. embeds.
I imagining a simple form to collect the parent path, name, categories, embeds, dependencies, checkboxes for JS/CSS.
Going a step further, we should be able to bootstrap (no pun intended) bootstrap-based client libraries, i.e.
Presumably we could do this for other frameworks, at least if they are based on LESS, but I don't think it is worthwhile doing this in a pluggable fashion. At least not for now.
We discussed this over email, but it seems worth documenting...
I want a button that says "Copy to Clipboard" that creates a Java code snippet I can drop into my code once I am happy with the query.
Unless there's a better option, we can use ZeroClipboard for this, although it requires Flash.
Latest AEM betas include a change to Sightly which assumes that there is a jcr:content resource under the script resource. Since AEM Fiddle uses a synthetic resource, this isn't the case, so we need to fake one out.
Creating Replication/Flush agents can be a tedious task; Often large sets of agents need to be created with the only difference being the transportURI (to a different pub or dispatcher).
Creating agents on Publish that flush specific dispatchers is an annoying process as this requires logging into to each publisher separately.
It would be nice to create 1 "Template Agent" and config it, select it using this wizard, define a nodeName/Title naming convention, enter a list of transport URIs and generate the agents.
It would also be nice to have a mechanism for pushing Agent nodes out to single Publishers (for 1-to-1 Pub/Dispatcher configurations)
Re-opening AEM fiddle after some time (hours?) the first code execution will display the results of the penultimate code run.
"Running code" again resolves the issue and subsequent runs work as expected.
Ive noticed this twice now, and both times have had significant time (overnight) between executions.
I've been thinking about adding some Sling Health Checks (http://sling.apache.org/documentation/bundles/sling-health-check-tool.html) to support developers.
For example: a health check that would scan components to find cases where there was a dialog but no icon.
Some cases like this probably could be handled through build-time checks, but with inheritance, it gets tricky and so doing it in a Health Check (which has access to the full repository and CQ API) would be easier/less error prone.
Newer versions of the Sling JSP engine create classes under /var/classes/ to prevent clashes when clustering. JSP Code Display is ignorant of this and so fails with newer JSP bundles.
IMO we should either make all Tool pages available for (re)creation via templates or not (or define some real criteria). As it stands, it doesn't make sense that AEM Fiddle has a template but JSP Code Debugger doesn't.
If we want templates for Tool pages, they should all have Thumbnails and descriptions.
Re-creating an accidently deleted Tool page is the only reason i can think to keep the templates.
Very long queries in Slow/Popular queries can make the UI difficult to use. Default long queries table cells to be collapses to a short height.
Move ng-app declaration off html element to a wrapping div in the body, to support future injected angular apps (ex ACS Commons quickly).
It would be nice to be able to access ACS AEM Tools from the navigation menu in the Touch UI. I suspect this is only achiveable for 6.0, but it also shouldn't break the nav on 5.6.1.
I have a page that includes a client lib that in turn contains a LESS file. Whenever I edit the LESS file, LiveReload isn't getting notified to refresh the page. Is this a know issue or do I have to configure AEM in a specific way to make LiveReload get notified when LESS files are changed?
I think LESS files are only recompiled when they are hit with a new request, but is there a way to configure AEM to recompile them as soon as they are changed?
Actually is there any way to make LiveReload refresh the page when a LESS file is changed?
A simple WebUI for quickly creating very large CQ page sets.
Allows user to specify:
Containers used to group the shards are currently hardcoded as sling:Folder
Would like to allow for random generation of content in properties; possibly through a psuedo-template like {{ randomString }}
, {{ randomNum }}
, etc.
Uncleaned up code here: https://github.com/davidjgonzalez/acs-aem-tools/tree/feature/page-maker
I've gotten this email twice now from GitHub. @davidjgonzalez can you do the needful here? Or maybe just fix this in your consolidated sites work?
The page build completed successfully, but returned the following warning:
Your site is using Maruku, the default Markdown interpreter. Maruku is now obsolete and may cause builds to fail for sites with invalid Markdown or HTML. See https://help.github.com/articles/migrating-your-pages-site-from-maruku for more information on upgrading to a newer Markdown interpreter.
For information on troubleshooting Jekyll see:
https://help.github.com/articles/using-jekyll-with-pages#troubleshooting
If you have any questions please contact us at https://github.com/contact.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.