In this section, now that the template has been setup in the initial application section, and the initial pages established in the initial content section, the application can be developed using foundation scripts including the ability to enable authoring with Communities components. At the end of this section, the website will be functional.
The default script, created when the component which renders the playpage template was added, is modifed to include the foundation page’s head.jsp and a local body.jsp.
The first step is to add a resource super type property to the /apps/an-scf-sandbox/components/playpage
node so that it inherits the scripts and properties of the super type.
Using CRXDE Lite:
Select node /apps/an-scf-sandbox/components/playpage
.
In properties tab, enter a new property with the following values:
Name: sling:resourceSuperType
Type: String
Value: foundation/components/page
Click the green +Add button.
Click Save All.
In CRXDE Lite explorer pane, navigate to /apps/an-scf-sandbox/components/playpage
and double-click the file playpage.jsp
to open it in the edit pane.
/apps/an-scf-sandbox/components/playpage/playpage.jsp
<%--
An SCF Sandbox Play Component component.
This is the component which renders content for An SCF Sandbox page.
--%><%
%><%@include file="/libs/foundation/global.jsp"%><%
%><%@page session="false" %><%
%><%
// TODO add your code here
%>
Being aware of open/close script tags, replace " // TODO …" with includes of scripts for the head and body parts of <html>.
With a super type of foundation/components/page
, any script not defined in this same folder will resolve to a script in /apps/foundation/components/page
folder (if it exists), else to a script in /libs/foundation/components/page
folder.
/apps/an-scf-sandbox/components/playpage/playpage.jsp
<%--
An SCF Sandbox Play Component component: playpage.jsp
This is the component which renders content for An SCF Sandbox page.
--%><%
%><%@include file="/libs/foundation/global.jsp"%><%
%><%@page session="false" %>
<html>
<cq:include script="head.jsp"/>
<cq:include script="body.jsp"/>
</html>
The foundation script head.jsp
need not be overlaid, but the foundation script body.jsp
is empty.
To setup for authoring, overlay body.jsp
with a local script and include a paragraph system (parsys) in the body:
Navigate to /apps/an-scf-sandbox/components
.
Select the playpage
node.
Right-click and select Create > Create File...
Click Save All.
Open /apps/an-scf-sandbox/components/playpage/body.jsp
and paste in the following text:
<%--
An SCF Sandbox Play Component component: body.jsp
This is the component which renders content for An SCF Sandbox page.
--%><%
%><%@include file="/libs/foundation/global.jsp"%><%
%><%@page session="false" %>
<body>
<h2>Community Play</h2>
<cq:include path="par" resourceType="foundation/components/parsys" />
</body>
Click Save All.
View the page in a browser in edit mode:
http://localhost:4502/editor.html/content/an-scf-sandbox/en/play.html
You should not only see the heading Community Play, but also the UI for editing page content.
The Assets/Component side panel is seen when both the side panel is toggled open and the window is wide enough for both the side content and the page content to be displayed.
http://localhost:4502/cf#/content/an-scf-sandbox/en/play.html
Following is how the play page appears in the classic UI including with content finder (cf):
To enable Communities components for authoring, start by following these instructions:
For the purposes of this sandbox, start with these Communities components (enable by checking the box):
In addition, choose General components, such as
The components enabled for the page par are stored in the repository as the value of the components
property of the
/etc/designs/an-scf-sandbox/jcr:content/playpage/par
node.
In a multi-language environment, the root page would include a script which would parse the request from the client to determine the preferred langauge.
In this simple example, the root page is being statically set to redirect to the english page, which may be developed in the future to be the main landing page with a link to the play page.
Change the browser URL to the root page: http://localhost:4502/editor.html/content/an-scf-sandbox.html
Select the Page Information icon
Select Open Properties
On the ADVANCED tab
Click OK
Once the site is published, browsing to the root page on a publish instance will redirect to the english page.
The last step before playing with the communities SCF components is to add a Client Library Folder (clientlibs) … Add Clienlibs