Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

goffinf
Community profile goffinf Level 4
Job title here
Location here
19 BADGES
Level 4

Level 4

Learn more
Joined the community 16-08-2014 3:20:02 AM
Offline
Top badges earned by goffinf
Customize the badges you want to showcase on your profile
Re: Cognifide Slice
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
For some reason this post didn't appear in the forum, so I'm trying again ?Really interested if anyone has tried Slice and if so, where there see its primary value ?Kind RegardsFraser.

Views

490

Likes

0

Replies

0
Cognifide Slice
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Anybody using or has evaluated the Slice framework made available by Cognifide ?I am trying to assess whether it will enable us to acheive a cleaner separation of the markup, scripting and business logic and in particular allow us to improve the testability of code we create in AEM. I'm not sure yet how well it might fit in with the more typical code I see which iintersperses EL and markup which (to me) make much of the code very difficult to maintain and test (in most other areas of software de...

Views

682

Likes

0

Replies

3
Re: AEM XPath Query special characters
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
It would be useful to see an example of the data that you are searching.The predicate part of you XPath also looks incorrect.Have you tried using > and < in place of the angle brackets.HTHsFraser.

Views

280

Likes

0

Replies

0
Re: Apache Wicket and WicketTester
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Hi Andrew/everyone else,I'll try. Starting from the top. We are building a business [transaction] app, that essentially enables quote and buy of financial products. We want to personalise the customer journey through the site and our marketing folk want control of various aspects of content and behaviour. We will be calling out to a variety of external applications mostly using flavours of web services (some RESTful, some SOAP based). A fairly typical scenario for many I would guess.The suggesti...

Views

546

Likes

0

Replies

0
Apache Wicket and WicketTester
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Hi all,one of our development guys has suggested using the Apache Wicket framework for an upcoming AEM implementation. For those that don't know, its a server side component model for build web applications, in many ways analogous to AWT. WicketTester is the unit testing and mocking part of the framework (pretty cool).Has anyone else considered using this ?RegardsFraser.

Views

622

Likes

0

Replies

2
Re: How to use external jar in Adobe CQ5?
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
> CRX is not locally installed hereThat doesn't matter too much as long as you are able to connect to your author instance. Most times you'll be using HTTP (rather than webdva or other options). Personally I find it a *lot* easier to have a local install, but it is resource hungry. Anyway, this shouldn't be a major restriction to your work.> No,I didn't tried maven with AEM.I would *strongly* suggest that you look into using Maven. Its a *lot* easier to manage your JAR dependencies, there are pr...

Views

736

Likes

0

Replies

0
Re: How to use external jar in Adobe CQ5?
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
For (1), you would typically use : http://:/system/console/depfinder (i.e. http://localhost:4502/system/console/depfinder if you are running AEM locally).For the rest, it really depends how much experience you have already with Maven and OSGI ?? Do you use Maven for AEM development already ?Fraser.

Views

743

Likes

0

Replies

0
Re: How to use external jar in Adobe CQ5?
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Oh, and in addition to option (3), you *can* embed external JARs in your application bundle (including transitive dependencies if necessary) using the Import-Packages/Embed-Transitives (check the exact spelling) directives. Sometimes that's easier than creating separate OSGI bundles for 3rd party JARs, but you need to balance whether you are likely to want to reuse those JARs across multiple applications as well as considering the level of isolation you need (ie. anything that is shared always h...

Views

750

Likes

0

Replies

0
Re: How to use external jar in Adobe CQ5?
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Well there are a few things to keep in mind :-1. The packages you need may already be exported by an existing OSGI bundle provided as part of the AEM run-time. Use the Web Console dependency finder and search for the package names you need.2. You should be using a Maven project (ideally created from one of the available archetypes such as the multi-module archetype from the Adobe repo or CQBlueprints). That will give your project a suitable structure and from there you just need to add the depen...

Views

740

Likes

0

Replies

0
Re: Squeakysand taglib NPE Calling getService
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Justin,thanks for both response. I have read over the second para of your first response a few times (the one that starts '.. One interesting note about Squeaksand ...'). I'm not yet experienced enough to understand the full significance, but I will run that past Headwire and post their response. It *sounds* like you are suggesting a tighter coupling than would be desirable.Anyway, as an update on the issues that I started this thread with. I now have a working implementation so hopefully its re1.7.4 -->...

Views

808

Likes

0

Replies

0
Re: Squeakysand taglib NPE Calling getService
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
That's a good question. It's hard sometimes to decide between libraries supplied by Adobe or others, so it would be good to understand what Adobe recommend as best practice.A short update on my issue. After chatting with the Headwire guys I have resolved the NPE issue. This was related to my POM which was missing a crucial instruction for one of the maven plugins which generates metadata about the reference type being used (GoodbyeWorldService in this case being called from the doTag method). I ...

Views

659

Likes

0

Replies

0
Re: Squeakysand taglib NPE Calling getService
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Thanks Justin, that was really very helpful. I am now in touch with Headwire and have a working implementation (albeit there is still some way to go to get the archetype that I created based on theirs working properly). I didn't realise they worked out of Southern California (hmmm, I wish 😉kind regardsFraser.

Views

652

Likes

0

Replies

0
Re: Squeakysand taglib NPE Calling getService
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
JUST to get something working I used *new* to create the GoodbyeWorldService instance in the doTag method, that is, I changed this :-package com.aviva.aem.archetypetest7.taglib; import com.aviva.aem.archetypetest7.services.GoodbyeWorldService; import com.cqblueprints.taglib.CqSimpleTagSupport; import com.squeakysand.jsp.tagext.annotations.JspTag; import com.squeakysand.jsp.tagext.annotations.JspTagAttribute; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet....

Views

657

Likes

0

Replies

0
Re: Squeakysand taglib NPE Calling getService
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Hi Scott,sure its :-http://www.cqblueprints.com/setup/maven.htmlThe CQ Blueprints archetype is the one that our external AEM consultancy partner has recommended that we use. It appears to provide a reasonable separation for the various types of resource that are created. Whats Adobe's view .. would you recommend we use the multimodule-content-package-archetype from the Adobe public repo that creates only a bundle and content structure ?Fraser.

Views

654

Likes

0

Replies

0
Squeakysand taglib NPE Calling getService
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
I am using the CQBlueprints archetype and following through the example implementation of simple tag library processing. The sample class provided is below. Seems pretty straight-forward. The OSGI bundles for the tablib and service are installed and Active. The GoodbyeWorldService bundle exports all its pacakges. The TLD generated is very simple. I can see that the setName method is called correctly from the provided JSP. Everything looks fine. HOWEVER ... as soon as the code hits theGoodbyeWorl...

Views

2.7K

Likes

0

Replies

10
Re: CQ serving content to another application
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Thanks to everyone. Thats given me a really good starting point.kind regardsFraser.

Views

625

Likes

0

Replies

0
Re: CQ serving content to another application
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Thanks for the links. I'm not sure if they help me or not. Let me try and describe a simple use case :-We design a [partial] site in CQ to enable content authors to create/edit some text to be displayed.That text is to be used by a web application built in a non-CQ technology (lets say .Net). So that .Net application needs to request the content from CQ. I had assumed that one way of doing that would be via Sling (i.e. an HTTP GET pointing to a resource which resolves to the text content entered...

Views

584

Likes

0

Replies

0
CQ serving content to another application
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
I'm pretty new to AEM.We have an existing web app which currently extracts content 'fragments' from Sitefinity using REST calls. Fragments might be snippets of HTML, raw text, images, and so on.AEM has become our strategic CMS platform and we want to provide the same capability but use AEM to serve the content.I have seen that one can send a HTTP request to a content node and it will return basic details about that node (I guess resource is a better term since its is essentially a RESTful GET re...

Views

2.0K

Like

1

Replies

6
Re: Logging in OSGI bundles
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
An update. After creating a new application and deploying the service and taglib bundles, the log events for start/stop DID appear in the global error.log file (so it was probably not happening before because of the OSGi caching policy or something similar).

Views

553

Likes

0

Replies

0
Logging in OSGI bundles
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Lets say I have an OSGI bundle and it implements an Activator, and in that Activator class it wants to log out some information. For exampleimport org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; public class Activator implements BundleActivator { private static final Logger logger = LoggerFactory.getLogger(Activator.class); @Override public void start(BundleContext context) throws Exception { logger.info("Enter...

Views

818

Likes

0

Replies

2
Re: Sling Models Default value returned for all properties
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Hi Justin,No I didn't do that yet. I thought that might already be supported since in the Sling Models docs here it said :-Lists and arrays are supported:@Model(adaptables=Resource.class) public class MyModel { @Inject private List servlets; }Also, when I read your earlier post I thought you were referring to the 'child-resources' injector, but as it turns out that doesn't appear to be needed.I have had some further success with the OOTB functionality. Specifically I can reach each of the items ...

Views

1.3K

Likes

0

Replies

0
Re: Sling Models Default value returned for all properties
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Hey Justin,still struggling with this, so any pointers much appreciated. Here's where I am.I created a new model interface thus :-package com.aviva.aem.sling.models.telephonecontact; import javax.inject.Inject; import javax.inject.Named; import org.apache.sling.models.annotations.*; import org.apache.sling.api.resource.Resource; @Model(adaptables=Resource.class) public interface IOpeningHours { @Inject @Optional @Named("day") String getDay(); @Inject @Optional @Named("startTime") String getStart...

Views

1.3K

Likes

0

Replies

0
Re: Sling Models Default value returned for all properties
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Good idea. Interface now looks like this (unfortunately same result though) :-package com.aviva.aem.sling.models.telephonecontact; import javax.inject.Inject; import javax.inject.Named; import org.apache.sling.models.annotations.*; import org.apache.sling.api.resource.Resource; @Model(adaptables=Resource.class) public interface ITelephoneContact { @Inject @Optional @Default(values="Call Us") @Named("title") String getTitle(); @Inject @Optional @Default(values="TBA") @Named("Content") String getC...

Views

1.4K

Likes

0

Replies

0
Re: Sling Models Default value returned for all properties
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Thx Justin, missing that was a bit embarassing !Next problem is how to specify the 'openingHours' collection in the telephone model interface.OpeningHours is a collection of Day,startTime and EndTime values where the Day is an enum (Monday, Tuesday, ... Sunday). This is what the dialog looks like :-[img]slingModels2.jpg[/img]and this is the content structure created :-[img]slingModels1.jpg[/img]But how do I model this on the interface. Maybe some sort of List ... but of what type ... do I need t...

Views

1.3K

Likes

0

Replies

0
Sling Models Default value returned for all properties
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
I am experimenting with Sling Models. I followed Justin Edelson's advice about installing the API / Impl package from ACS, adding the instruction to the maven-bundle-plugin to generate the appropriate manifest header ... yadda, yaddaI defined an interface thus (note: the @Default values) :-package com.aviva.aem.sling.models.telephonecontact; import javax.inject.Inject; import org.apache.sling.models.annotations.*; import org.apache.sling.api.resource.Resource; @Model(adaptables=Resource.class) p...

Views

3.3K

Likes

0

Replies

8
Re: God awful auto indenting in CRXDE Lite
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Give this tip a try :- http://alivecycle.wordpress.com/2013/08/21/crxde-lite-code-formatting/RegardsFraser

Views

283

Like

1

Replies

0
Re: Sling Models Custom Injector Precedence Order
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
> I'm not sure what you mean by "try and deal with a request". Could you clarify?You already answered that for me in the reply to (1) '... until one of the injectors returns a non-null value, at which point no other injectors will be called', i.e. a situation where a second injector tries to deal with a method/field that an earlier injector already processed can't happen.ThanksFraser.

Views

527

Likes

0

Replies

0
Re: Sling Models Custom Injector Precedence Order
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Thanks Justin.It looks as though my injector is correctly registered as it appeared last in the list in the Sling Models console.I added this check in my injector to cause it to fail-fast if called by a field/method that is not explicitly annotated with the name of my injector :-/** * Check that the call to this injector has ONLY come from a method/field that has a * @Source annotation value that corresponds to THIS injectors name */ Source src = element.getAnnotation(Source.class); if (src != n...

Views

510

Likes

0

Replies

0
Re: Sling Models Custom Injector Precedence Order
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
Hey Justin,where do I check for the Sling Models Configuration Printer output ?re: custom injector *could* still be called ... Agreed ... can the value of the @Source annotation be accessed from within the injector ?RegardsFraser.

Views

501

Likes

0

Replies

0
Sling Models Custom Injector Precedence Order
Avatar
Ignite 20
Level 4
goffinf
Level 4

Likes

9 likes

Total Posts

100 posts

Correct reply

8 solutions
Top badges earned
Ignite 20
Give Back 50
Ignite 10
Give Back 25
Ignite 5
View profile
goffinf
- Adobe Experience Manager
I have created a custom Sling Models injector. It's deployed as an OSGi service and works successfully but I have a problem.The immediate question I have relates to the precedence order in which the injectors are called. I set my injector to have service ranking of 9999 so that it would likely only be called if I declared it explicitly with the @Source annotation, or so I thought. In reality it gets called for ALLmethods/fields unless I set them explicitly too e.g. to stop my custom injector bei...

Views

1.3K

Likes

0

Replies

6