Giter Club home page Giter Club logo

acs-aem-tools's People

Contributors

adolfodepazvela avatar ahmed-musallam avatar angulito avatar badvision avatar bstopp avatar chetanmeh avatar davidjgonzalez avatar dchang avatar gitter-badger avatar justinedelson avatar klcodanr avatar kunalgaba avatar kwin avatar mikepfaff avatar royteeuwen avatar sabyamon avatar tripodsan avatar tyge68 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acs-aem-tools's Issues

Explain Query - Add "running" notification

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"

acs-aem-tools-content-0.0.2.zip fails to install

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.

JSP Code Display support for multiline stack trace

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.

New Activate Tree replication tool

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.

Launcher Disabler

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 a column # indicator to Fiddle

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

Override component tool

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?

Query Editor - Default query is slow in AEM6

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

Link Query Editor with Explain Query (https://github.com/Adobe-Consulting-Services/acs-aem-tools/pull/50)

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.

Query Editor - Does not handle values with spaces

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

Project file organization wrt to Licensing

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

  • /etc/clientlibs/acs-tools/vendor/json/
  • /etc/clientlibs/acs-tools/vendor/angularjs/
  • /etc/clientlibs/acs-tools/vendor/aceeditor/

For Components ..
*/apps/acs-tools/components/my-component/clientlibs/js/vendor/some-one-off-plugin.js

WDYT?

ClientLib HTTP Request Optimizer

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).

content find & replace global

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.

ACS Commons Component Error Handler interferes w AEM Fiddle error output

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 not generating valid json request url

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

[1]http://localhost:4502/bin/querybuilder.json?type=nt:file%0Anodename%3D*.jarpath%3D%2Fapps%2Fwbg%2Finstall%0Aorderby%3D@jcr:content%2Fjcr:lastModified%0Aorderby.sort%3Ddesc

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.

AEM Fiddle - save/load scripts to/from the repo

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).

ClientLib Bootstrapper

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.

  • There's a checkbox saying "Include bootstrap"
  • And a version selector (which gets data from the GitHub REST API)
  • We fetch the ZIP and unzip it to the newly-created client library
  • Set up css.txt and js.txt specifically to point to the LESS and JS files.
  • Create a custom.less file, add it to bootstrap.less.
  • (if necessary) change variables.less

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.

Add copy-to-clipboard option in Query Editor

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.

NPE when using AEM Fiddle with Sightly

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.

Agent Wizard

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)

AEM Fiddle - First execution may run last run fiddle

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.

aem_fiddle___acs_aem_tools-9

Developer Health Checks

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.

AEM Fiddle template available under /etc/acs-tools

cq5_tools___acs-tools

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.

CoralUI CSS interferes with certain elements of Ace Editor

aem_fiddle___acs_aem_tools-2

Cmd/Ctrl-F > Find dialog for Ace is disturbed by CoralUI; Effects all uses of Ace Editors on CoralUI pages in ACS Tools project. May be other Ace editor UIs that i have not noticed yet.

May require using a wrapped CoralUI library (ACS-AEM-Commons has a wrapped coralui)

Add ACS AEM tools to navigation in Touch UI

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.

LiveReload is not working with LESS files

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?

Test Page Generator

A simple WebUI for quickly creating very large CQ page sets.
Allows user to specify:

  • Template
  • Total # of pages to create
  • Shard size (max number of sibling nodes; be it containers of actual pages)
  • N String or String[](String[] are comma delimited) properties

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.

page_maker___acs_aem_tools

crxde_lite

Uncleaned up code here: https://github.com/davidjgonzalez/acs-aem-tools/tree/feature/page-maker

Deal with Maruku's obselence

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.