SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
AgileSites	
  3.11	
  
for	
  WebCenter	
  Sites	
  11g	
  
	
  
Michele	
  Sciabarra	
  
michele@sciabarra.com	
  
Sciabarra.com	
  –	
  Just	
  Add	
  Content	
  
	
  
1	
  
WebCenter	
  Sites	
  11g	
  
Recalling	
  key	
  concepts	
  
	
  
2	
  
Basic	
  Terminology	
  
•  Asset	
  
•  All	
  the	
  content	
  is	
  an	
  asset	
  
•  It	
  is	
  publishabe;	
  
•  Each	
  asset	
  has	
  a	
  type	
  
•  Very	
  roughly,	
  a	
  (simple)	
  asset	
  is	
  a	
  record	
  in	
  a	
  table	
  
•  Flex	
  Assets	
  
•  Have	
  attributes	
  
•  Can	
  change	
  their	
  attribute	
  set	
  (definition)	
  
•  Roughly	
  they	
  are	
  a	
  master-­‐detail	
  table	
  set	
  
3	
  
Basic	
  Terminology	
  
•  Element	
  
•  The	
  underlying	
  code	
  executed	
  by	
  a	
  Template	
  
•  JSP	
  mostly	
  
•  Also	
  XML	
  and	
  Groovy	
  
•  It	
  is	
  NOT	
  an	
  asset	
  –	
  but	
  can	
  be	
  part	
  of	
  an	
  Asset	
  
•  Template	
  (and	
  CSElement)	
  
•  It	
  is	
  a	
  (special)	
  asset	
  
•  It	
  can	
  render	
  a	
  (non	
  executable)	
  asset	
  
•  They	
  wraps	
  Elements	
  with	
  metadata	
  
•  It	
  is	
  executable	
  	
  
•  It	
  is	
  publishabe	
  
4	
  
The	
  rendering	
  process	
  
Wrapper	
  
•  It	
  starts	
  always	
  with	
  a	
  
Wrapper	
  and	
  c/cid	
  
•  It	
  will	
  select	
  an	
  asset	
  
and	
  a	
  layout	
  
•  You	
  will	
  apply	
  different	
  
elements	
  to	
  different	
  
content	
  on	
  the	
  road	
  
TopNav
SideNav Detail
Footer
Layout
Templates	
  &	
  CSElement	
  
•  It	
  is	
  an	
  Asset	
  holding	
  
an	
  Element	
  
•  It	
  is	
  Publishable	
  
•  It	
  contains	
  meta	
  data	
  
•  It	
  is	
  UNCACHED	
  
•  Use	
  for	
  rendering	
  logic	
  
that	
  embed	
  html	
  in	
  the	
  
caller	
  
•  In	
  is	
  an	
  Asset	
  holding	
  
an	
  Element	
  	
  
•  It	
  is	
  Publishable	
  
•  It	
  contains	
  meta	
  data	
  
•  It	
  is	
  CACHED	
  
•  Use	
  for	
  rendering	
  logic	
  
that	
  create	
  separate	
  
Pagelets	
  
6	
  
WCS	
  main	
  concepts	
  
•  Separate	
  content	
  from	
  presentation	
  
•  Select	
  an	
  asset	
  (content	
  data)	
  
•  c	
  is	
  the	
  content	
  type	
  
•  cid	
  is	
  the	
  content	
  id	
  
•  Select	
  an	
  element	
  (presentation	
  logic)	
  
•  pagename	
  is	
  the	
  Element	
  
•  You	
  always	
  apply	
  an	
  element	
  to	
  an	
  asset	
  
•  So	
  you	
  need	
  a	
  pagename	
  and	
  a	
  c+cid	
  
Module:	
  Installation	
  
Installing	
  AgileSites	
  3.11	
  
8	
  
Prerequisites	
  for	
  AgileSites	
  3.11	
  
•  Before	
  starting,	
  you	
  need	
  JAVA	
  1.7	
  JDK	
  	
  
•  WCS	
  Sites	
  11g	
  does	
  not	
  work	
  with	
  Java	
  8)	
  
•  Download	
  JDK	
  1.7	
  from	
  the	
  Oracle	
  WebSite	
  
•  Ensure	
  JAVA_HOME	
  points	
  to	
  the	
  Jdk	
  1.7	
  
•  from	
  Windows	
  command	
  prompt:	
  
•  echo	
  %JAVA_HOME%	
  
•  from	
  OSX/Linux	
  terminal:	
  
•  echo	
  $JAVA_HOME	
  
9	
  
Download	
  the	
  starter	
  manually	
  
•  Create	
  a	
  folder:	
  e.g.	
  starter
•  Download	
  this	
  zip	
  in	
  the	
  folder:	
  
http://agilesites3-repo.s3.amazonaws
/releases/11g/agilesites.zip
•  it	
  is	
  a	
  single	
  URL,	
  do	
  not	
  split! 	
   	
  	
  
•  Unzip	
  it	
  inside	
  the	
  folder	
  	
  
•  Execute	
  the	
  agilesites	
  script	
  
•  Either	
  .sh	
  for	
  OSX/Linux	
  or	
  .cmd	
  for	
  Windows	
  
	
  
	
  
10	
  
Alternative	
  download	
  using	
  git	
  
•  Get	
  git	
  for	
  your	
  operating	
  system	
  
•  Decide	
  for	
  a	
  folder	
  name:	
  e.g.	
  starter
•  Execute	
  this	
  command	
  from	
  the	
  parent	
  folder:	
  
git clone
http://github.com/sciabarra/AgileSites3.11
starter
•  it	
  is	
  a	
  single	
  command	
  line,	
  do	
  not	
  split!	
  
•  Cd	
  in	
  the	
  folder	
  and	
  execute	
  the	
  agilesites	
  script	
  
•  Either	
  .sh	
  for	
  OSX/Linux	
  or	
  .cmd	
  for	
  Windows	
  
	
  
11	
  
Install	
  WebCenter	
  Sites	
  11g	
  
•  Everything	
  starting	
  with	
  >	
  is	
  should	
  be	
  executed	
  
at	
  the	
  agilesites	
  prompt	
  
•  Downloading	
  Sites	
  
> sitesDownload <username> <password>
•  you	
  must	
  use	
  your	
  oracle	
  credentials	
  
•  Install	
  Sites:	
  
> sitesInstall
•  Log	
  into	
  Sites:
http://localhost:11800/cs/
12	
  
Use	
  an	
  IDE	
  for	
  editing	
  
•  Generate	
  eclipse	
  configuration	
  files	
  
> eclipse
•  you	
  can	
  now	
  edit	
  it	
  with	
  Eclipse	
  
•  You	
  can	
  also	
  use	
  other	
  editors	
  like	
  IntelliJ	
  or	
  
Netbeans	
  	
  
•  The	
  project	
  is	
  a	
  standard	
  java-­‐only	
  project	
  
13	
  
Control	
  the	
  Server	
  
•  Control	
  the	
  server	
  
> server status
> server stop
> server start
•  Generate	
  a	
  script	
  for	
  starting	
  sites:	
  
> server script
14	
  
Generate	
  a	
  new	
  WebSite	
  and	
  
install	
  it	
  
•  Decide	
  for	
  a	
  name	
  and	
  a	
  prefix:	
  	
  
	
  e.g.	
  Starter	
  St	
  	
  
> asNewSite Starter St
•  Install	
  Agilesites	
  and	
  the	
  newly	
  	
  created	
  site	
  
> asSetup
•  Log	
  into	
  sites	
  and	
  create	
  a	
  new	
  page	
  named	
  
Home	
  
•  You	
  can	
  see	
  now	
  it	
  as:	
  
http://localhost:11800/cs/Satellite/starter/	
  	
  
15	
  
Lab	
  
• Install	
  WebCenter	
  Sites	
  
• Generate	
  a	
  new	
  site	
  
• Install	
  agilesites	
  and	
  the	
  
new	
  site	
  
• Check	
  you	
  get	
  the	
  
ErrorPage	
  
• Create	
  a	
  page	
  named	
  
Home	
  
• Check	
  you	
  get	
  the	
  Home	
  
Page	
  
Goal:	
  Installing	
  WCS	
  and	
  create	
  
a	
  new	
  agile	
  Site	
  
16	
  
Module:	
  Site	
  Structure	
  
What	
  is	
  in	
  a	
  Site?	
  
17	
  
Site	
  Structure	
  
18	
  
Main	
  Site	
  Definition	
  
19	
  
Configurations	
  
•  Router	
  
•  decode/encore	
  urls	
  
programmatically	
  
•  route	
  	
  
get	
  an	
  url	
  and	
  calls	
  a	
  
CSElement	
  
•  link	
  
get	
  an	
  asset	
  and	
  
returns	
  an	
  URL	
  
•  Config	
  
•  maps	
  type	
  names	
  in	
  
attribute	
  names	
  
•  (workaround	
  for	
  a	
  
limitation	
  of	
  the	
  Sites	
  
API)	
  
20	
  
Basic	
  Content	
  Model	
  
•  Types:	
  
•  Page	
  
•  the	
  built	
  in	
  Page	
  type	
  
•  StContent	
  
•  a	
  content	
  type	
  of	
  a	
  flex	
  
family	
  
•  StParent	
  
•  a	
  parent	
  type	
  of	
  a	
  flex	
  
family	
  
•  Subtypes	
  
•  StHome	
  
•  A	
  subtype	
  of	
  Page	
  for	
  
rendering	
  the	
  Home	
  
Page	
  
21	
  
Basic	
  Templates	
  &	
  CSElements	
  
•  CSElement	
  
•  Starter	
  
•  the	
  wrapper	
  
•  StError	
  
•  default	
  error	
  page	
  
•  StTester	
  
•  test	
  runner	
  for	
  
integration	
  tests	
  
•  Templates	
  
•  StHomeLayout	
  
•  template	
  for	
  the	
  home	
  
page	
  
•  Mockup	
  
•  template.html	
  
•  used	
  by	
  all	
  the	
  
templates	
  ans	
  
cselements	
  	
  
22	
  
Tests	
  
•  Unit	
  Tests	
  
•  StErrorTest	
  
•  StHomeLayoutTest	
  
•  Integration	
  Tests	
  
•  StErrorTest	
  
23	
  
AgileSites	
  ABC	
  
•  Env:	
  
	
  
•  Asset:	
  
•  Picker	
  
	
  
24	
  
Lab	
  
• Add	
  an	
  attribute	
  
• Change	
  the	
  template	
  
• Write	
  a	
  test	
  
• Deploy	
  the	
  Site	
  
• Add	
  the	
  statics	
  from	
  the	
  
url	
  below	
  and	
  fix	
  html	
  
Familiarize	
  with	
  the	
  project	
  
structure	
  and	
  the	
  development	
  
workflow.	
  
25	
  
http://agilesites3-­‐repo.s3.amazonaws.com/starter.zip	
  
	
  
Beginning	
  	
  
Content	
  Modelling	
  
Lean	
  how	
  to	
  create	
  	
  your	
  content	
  model	
  
26	
  
 
	
  
	
  
	
  
Type:	
  
Page	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Subtype:	
  
Home	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Hierarchy	
  
27	
  
PageAttribute	
  
PageDefinition	
  
StHome	
  
StText	
   StTitle	
  
Attribute:	
  
StText	
  
Attribute:	
  
StTitle	
  
Attr	
  
Types	
  
Attributes	
  
•  Attributes	
  can	
  be	
  
•  	
  single	
  
•  multiple	
  
•  AttributeEditors	
  
•  Stock	
  
•  Custom	
  
•  Attributes	
  have	
  
different	
  types	
  
•  String	
  
•  Text	
  (long	
  string)	
  
•  Image	
  
•  Asset	
  
28	
  
Attribute	
  Editors	
  
29	
  
•  Attribute	
  editors	
  
define	
  editing	
  options	
  
for	
  attributes	
  
•  TEXTAREA	
  
•  CKEDITOR	
  
•  Defined	
  with	
  an	
  XML	
  
file	
  
•  Unfortunately	
  
•  Documented	
  in	
  
developer	
  manual	
  
Attribute	
  Editors	
  
•  Normally	
  declared	
  in	
  the	
  Site	
  configuration	
  file	
  
•  Need	
  to	
  specify	
  only	
  the	
  details	
  of	
  the	
  attribute	
  editor	
  
•  Name	
  is	
  the	
  field	
  name	
  
30	
  
Attributes	
  
31	
  
Title	
  
Subtitle	
  
Sumary	
  
Detail	
  
Image	
  
TeaserTitle	
  
TeaserText	
  
Flex	
  Family	
  Content	
  Types	
  
32	
  
•  A	
  standard	
  wrapper	
  class	
  is	
  required	
  	
  
to	
  represent	
  them	
  in	
  Java	
  
Definitions	
  
•  Definitions	
  	
  
•  A	
  set	
  of	
  Attributes	
  
•  Used	
  by	
  contents	
  to	
  
define	
  their	
  attributes	
  
	
  
33	
  
Definitions	
  
•  You	
  need	
  a	
  definition	
  to	
  be	
  a	
  container	
  of	
  
attributes	
  
•  Note	
  it	
  is	
  a	
  subtype	
  so	
  extends	
  a	
  type	
  
34	
  
Attributes	
  
35	
  
•  Text	
  with	
  
description,	
  
mandatory	
  
	
  
•  Text	
  	
  with	
  
attribute	
  
editor	
  
•  Attribute	
  
multiple	
  
Attributes,	
  continue	
  
•  Blob	
  Attribute	
  
•  Asset	
  Attribute	
  
36	
  
Lab:	
  	
  Create	
  
Attributes	
  
•  Define	
  2	
  attribute	
  editors	
  
•  CKEDITOR	
  
•  TEXTAREA	
  
•  Define	
  attributes	
  
•  Subtitle:	
  single,	
  string,	
  	
  
•  Summary:	
  text,	
  single	
  TEXTAREA	
  
•  Text:	
  text,	
  single	
  
CKEDITOR	
  
•  Image:	
  single,	
  blob	
  
•  TeaserTitle:	
  multiple,	
  string	
  
•  TeaserText:	
  multiple,	
  text	
  
•  Related:	
  asset,	
  multiple	
  
•  SeeAlso:	
  asset:,	
  multiple	
  
•  Place	
  them	
  in	
  the	
  Content	
  
definition	
  
Objective:	
  
Learn	
  about	
  attributes,	
  
definitions	
  and	
  attribute	
  editors	
  
You	
  will	
  create	
  all	
  is	
  needed	
  to	
  
render	
  a	
  whole	
  page	
  	
  
37	
  
Placing	
  Attributes	
  	
  
in	
  a	
  mockup	
  
From	
  static	
  html	
  to	
  a	
  dynamic	
  website	
  
38	
  
The	
  
common	
  
part	
  of	
  	
  
web	
  page	
  	
  
The	
  specific	
  	
  
part	
  of	
  each	
  
layout	
  
39	
  
Wrapper	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Layout	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
The	
  fine	
  art	
  of	
  HTML	
  cutting	
  
Extracting	
  attributes	
  
•  Load	
  as	
  asset	
  
(default	
  the	
  current)	
  
•  Read	
  the	
  attributes	
  of	
  the	
  asset:	
  
	
  
40	
  
Mockup	
  in	
  Java	
  with	
  Picker	
  
•  Pick	
  the	
  html	
  
Picker p = Picker.load("/blueprint/template.html")
•  Moustache	
  	
  
	
  	
  	
  	
  	
  	
  	
  {{Attribute}}
•  Replacements	
  
p.replace("#location",
a.getString("Value"))
41	
  
Render	
  the	
  image	
  
42	
  
Lab:	
  populate	
  
the	
  mockup	
  
Implement	
  the	
  following	
  
attributes:	
  
•  Summary	
  
•  Details	
  
•  Teaser	
  Title	
  
•  Teaser	
  Text	
  
•  Image	
  
•  Related	
  
•  SeeAlso	
  
Goal:	
  	
  
Populate	
  your	
  html	
  mockup	
  
with	
  content	
  	
  
	
  
43	
  
Rendering	
  Links	
  
Let's	
  see	
  how	
  Implement	
  navigations	
  
44	
  
What	
  is	
  a	
  link	
  in	
  Sites	
  anyway?	
  
•  You	
  always	
  link	
  to	
  ASSETS	
  
•  So	
  you	
  get	
  the	
  ASSET	
  then	
  extract	
  the	
  URL	
  to.	
  
•  Link	
  to	
  myself:	
  
•  e.getAsset().getUrl()
•  Not	
  very	
  useful	
  in	
  practice,	
  so	
  you	
  use	
  attributes	
  or	
  siteplan.	
  
For	
  example:	
  
•  url = a.getAsset("Related").getUrl()
•  a = e.findOne("Page", 

arg("name", "Home");

url = a.getUrl();
45	
  
SitePlan	
  
•  Navigating	
  the	
  siteplan	
  
•  Get	
  the	
  nodeid	
  first	
  
•  Siteplan	
  functions	
  
•  Path	
  
•  Children	
  
•  Whole	
  tree	
  
•  Others	
  (check	
  
siteplan:*)	
  
46	
  
Path	
  
getsitenode	
  
chidren	
  
Rendering	
  top	
  menu	
  
47	
  
Lab:	
  rendering	
  
top	
  menu	
  
• Write	
  a	
  method	
  	
  
implementing	
  the	
  
topmenu	
  
•  Show	
  links	
  to	
  the	
  first	
  
level	
  pages	
  in	
  the	
  
siteplan	
  
Goals:	
  learn	
  how	
  to	
  create	
  links	
  
and	
  navigate	
  the	
  siteplan	
  
48	
  
Rendering	
  	
  	
  
Inner	
  elements	
  
Nesting	
  is	
  the	
  key	
  for	
  leveraging	
  the	
  content	
  model	
  
49	
  
A	
  composite	
  view	
  
•  Not	
  everything	
  that	
  is	
  needed	
  to	
  render	
  a	
  web	
  
page	
  is	
  an	
  attribute	
  of	
  a	
  single	
  asset	
  
•  Very	
  often	
  you	
  have	
  a	
  set	
  of	
  assets	
  that	
  refers	
  each	
  
other	
  
•  The	
  golden	
  rule	
  of	
  Sites	
  template	
  development	
  
•  In	
  a	
  template	
  render	
  only	
  ONE	
  asset	
  
•  If	
  you	
  find	
  another	
  asset.	
  change	
  the	
  current	
  asset	
  (c/cid)	
  and	
  	
  
call	
  another	
  template	
  
	
  
50	
  
Spot	
  the	
  difference	
  
51	
  
Fields	
  of	
  the	
  same	
  asset	
  –	
  no	
  need	
  to	
  change	
  template	
  
Fields	
  of	
  a	
  different	
  asset	
  –	
  need	
  to	
  call	
  a	
  different	
  template	
  
Create	
  a	
  new	
  CSElement	
  
52	
  
Invocation	
  of	
  a	
  CSElement	
  	
  
•  Use	
  the	
  Env:	
  
	
  
•  Note	
  the	
  invocation	
  is	
  a	
  String	
  that	
  can	
  be	
  placed	
  
•  Invocation	
  happens	
  actually	
  later	
  	
  
•  It	
  is	
  not	
  a	
  procedure	
  call,	
  but	
  a	
  note	
  to	
  the	
  system	
  to	
  
use	
  the	
  output	
  of	
  a	
  cselement	
  for	
  rendering	
  
	
  
53	
  
Create	
  a	
  new	
  template	
  
54	
  
Invocation	
  of	
  a	
  Template	
  
•  You	
  always	
  need	
  an	
  asset	
  to	
  invoke	
  the	
  template	
  	
  
•  You	
  replace	
  the	
  call,	
  but	
  do	
  not	
  forget	
  the	
  cache	
  
•  Generally	
  you	
  get	
  the	
  asset	
  from	
  an	
  attribute	
  
•  you	
  need	
  to	
  specify	
  the	
  type	
  of	
  the	
  asset	
  
	
  
	
  
	
  
55	
  
Lab:	
  calling	
  
templates	
  and	
  
elements	
  
• Create	
  a	
  CSElement	
  and	
  
move	
  the	
  topmenu	
  logic	
  
in	
  it	
  
• Create	
  a	
  Template	
  and	
  
use	
  it	
  to	
  render	
  the	
  
SeeAlso	
  blocks	
  
At	
  the	
  end	
  you	
  will	
  render	
  the	
  
summary	
  with	
  a	
  separate	
  
template	
  
56	
  
Code	
  for	
  the	
  
StHomeSummary	
  
Template	
  
Slot	
  
Drag	
  and	
  drop	
  other	
  assets	
  in	
  the	
  current	
  page	
  
57	
  
Creating	
  a	
  slot	
  
58	
  
slotList/slotEmpty	
  
59	
  
Lab:	
  Slot	
  
• Replace	
  the	
  calls	
  as	
  slots	
  
• Implement	
  the	
  related	
  
slot	
  list	
  
In	
  this	
  lab	
  you	
  will	
  create	
  slots	
  
for	
  drag-­‐n-­‐drop	
  of	
  content	
  
60	
  

Más contenido relacionado

La actualidad más candente

React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016Justin Gordon
 
Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For DevelopersIdo Flatow
 
Modern javascript
Modern javascriptModern javascript
Modern javascriptKevin Ball
 
Hire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel ProgrammersHire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel ProgrammersSummation IT
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Fwdays
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsDor Kalev
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Ido Flatow
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Ryan Cuprak
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETAlan Hecht
 
Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Strannik_2013
 
Afrimadoni the power of docker
Afrimadoni   the power of dockerAfrimadoni   the power of docker
Afrimadoni the power of dockerPHP Indonesia
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentIrfan Maulana
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoPaul Withers
 
Here Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPressHere Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPressRami Sayar
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt ofVictor_Cr
 
They why behind php frameworks
They why behind php frameworksThey why behind php frameworks
They why behind php frameworksKirk Madera
 

La actualidad más candente (20)

React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016
 
Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For Developers
 
ASP.NET: Present and future
ASP.NET: Present and futureASP.NET: Present and future
ASP.NET: Present and future
 
Let's serve your data
Let's serve your dataLet's serve your data
Let's serve your data
 
Modern javascript
Modern javascriptModern javascript
Modern javascript
 
Hire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel ProgrammersHire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel Programmers
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
 
Mini-Training Owin Katana
Mini-Training Owin KatanaMini-Training Owin Katana
Mini-Training Owin Katana
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NET
 
Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015
 
Afrimadoni the power of docker
Afrimadoni   the power of dockerAfrimadoni   the power of docker
Afrimadoni the power of docker
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web Development
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
 
Here Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPressHere Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPress
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt of
 
They why behind php frameworks
They why behind php frameworksThey why behind php frameworks
They why behind php frameworks
 

Destacado

Webcenter Sites Google Gadget Development Techniques
Webcenter Sites Google Gadget Development TechniquesWebcenter Sites Google Gadget Development Techniques
Webcenter Sites Google Gadget Development TechniquesJohn Brunswick
 
Travels around the Internet
Travels around the InternetTravels around the Internet
Travels around the InternetLocalglobe
 
День открытых дверей
День открытых дверейДень открытых дверей
День открытых дверейILMK
 
Doing Marketing in a Digital World - Digital Surrey November 2011
Doing Marketing in a Digital World - Digital Surrey November 2011Doing Marketing in a Digital World - Digital Surrey November 2011
Doing Marketing in a Digital World - Digital Surrey November 2011Wild Orange Media Ltd
 
Boostez le référencement naturel de votre site internet
Boostez le référencement naturel de votre site internetBoostez le référencement naturel de votre site internet
Boostez le référencement naturel de votre site internetNeocamino
 
Start ups need a child's imagination
Start ups need a child's imaginationStart ups need a child's imagination
Start ups need a child's imaginationLocalglobe
 
#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore
#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore
#1NLab16 - Accelerating Your Marketing: Lessons in SitecoreOne North
 
АИС «Реестр зеленых насаждений»
АИС «Реестр зеленых насаждений»АИС «Реестр зеленых насаждений»
АИС «Реестр зеленых насаждений»direkciyaDOgM
 
Elena - Halloween
Elena - HalloweenElena - Halloween
Elena - Halloweenisarevi
 
Spanish Music
Spanish MusicSpanish Music
Spanish Musicisarevi
 
The Wise Man's Fear - Carlos
The Wise Man's Fear  - CarlosThe Wise Man's Fear  - Carlos
The Wise Man's Fear - Carlosisarevi
 

Destacado (14)

Webcenter Sites Google Gadget Development Techniques
Webcenter Sites Google Gadget Development TechniquesWebcenter Sites Google Gadget Development Techniques
Webcenter Sites Google Gadget Development Techniques
 
Travels around the Internet
Travels around the InternetTravels around the Internet
Travels around the Internet
 
День открытых дверей
День открытых дверейДень открытых дверей
День открытых дверей
 
Doing Marketing in a Digital World - Digital Surrey November 2011
Doing Marketing in a Digital World - Digital Surrey November 2011Doing Marketing in a Digital World - Digital Surrey November 2011
Doing Marketing in a Digital World - Digital Surrey November 2011
 
Boostez le référencement naturel de votre site internet
Boostez le référencement naturel de votre site internetBoostez le référencement naturel de votre site internet
Boostez le référencement naturel de votre site internet
 
Start ups need a child's imagination
Start ups need a child's imaginationStart ups need a child's imagination
Start ups need a child's imagination
 
#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore
#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore
#1NLab16 - Accelerating Your Marketing: Lessons in Sitecore
 
АИС «Реестр зеленых насаждений»
АИС «Реестр зеленых насаждений»АИС «Реестр зеленых насаждений»
АИС «Реестр зеленых насаждений»
 
Resume (1)
Resume (1)Resume (1)
Resume (1)
 
Amul
AmulAmul
Amul
 
10 La Vicaria
10 La Vicaria10 La Vicaria
10 La Vicaria
 
Elena - Halloween
Elena - HalloweenElena - Halloween
Elena - Halloween
 
Spanish Music
Spanish MusicSpanish Music
Spanish Music
 
The Wise Man's Fear - Carlos
The Wise Man's Fear  - CarlosThe Wise Man's Fear  - Carlos
The Wise Man's Fear - Carlos
 

Similar a Agile sites311training

Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Lee Klement
 
Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure DataTaro L. Saito
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedGil Fink
 
AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)Igor Talevski
 
Intro JavaScript
Intro JavaScriptIntro JavaScript
Intro JavaScriptkoppenolski
 
Web component driven development
Web component driven developmentWeb component driven development
Web component driven developmentGil Fink
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and ActivatorKevin Webber
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino DesignerPaul Withers
 
The Time for Vanilla Web Components has Arrived
The Time for Vanilla Web Components has ArrivedThe Time for Vanilla Web Components has Arrived
The Time for Vanilla Web Components has ArrivedGil Fink
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016Marco Breveglieri
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015Hossein Zahed
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Java EE revisits design patterns
Java EE revisits design patternsJava EE revisits design patterns
Java EE revisits design patternsAlex Theedom
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsGil Fink
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Sarah Dutkiewicz
 

Similar a Agile sites311training (20)

Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012
 
Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrived
 
AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)
 
Intro JavaScript
Intro JavaScriptIntro JavaScript
Intro JavaScript
 
Web component driven development
Web component driven developmentWeb component driven development
Web component driven development
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and Activator
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 
The Time for Vanilla Web Components has Arrived
The Time for Vanilla Web Components has ArrivedThe Time for Vanilla Web Components has Arrived
The Time for Vanilla Web Components has Arrived
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Java EE revisits design patterns
Java EE revisits design patternsJava EE revisits design patterns
Java EE revisits design patterns
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponents
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 

Último

Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCRashishs7044
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africaictsugar
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menzaictsugar
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCRashishs7044
 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfpollardmorgan
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMintel Group
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?Olivia Kresic
 
Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Seta Wicaksana
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCRashishs7044
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessSeta Wicaksana
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyotictsugar
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCRashishs7044
 

Último (20)

Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
 
Call Us ➥9319373153▻Call Girls In North Goa
Call Us ➥9319373153▻Call Girls In North GoaCall Us ➥9319373153▻Call Girls In North Goa
Call Us ➥9319373153▻Call Girls In North Goa
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africa
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
 
Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?
 
Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful Business
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyot
 
Corporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information TechnologyCorporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information Technology
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
 

Agile sites311training

  • 1. AgileSites  3.11   for  WebCenter  Sites  11g     Michele  Sciabarra   michele@sciabarra.com   Sciabarra.com  –  Just  Add  Content     1  
  • 2. WebCenter  Sites  11g   Recalling  key  concepts     2  
  • 3. Basic  Terminology   •  Asset   •  All  the  content  is  an  asset   •  It  is  publishabe;   •  Each  asset  has  a  type   •  Very  roughly,  a  (simple)  asset  is  a  record  in  a  table   •  Flex  Assets   •  Have  attributes   •  Can  change  their  attribute  set  (definition)   •  Roughly  they  are  a  master-­‐detail  table  set   3  
  • 4. Basic  Terminology   •  Element   •  The  underlying  code  executed  by  a  Template   •  JSP  mostly   •  Also  XML  and  Groovy   •  It  is  NOT  an  asset  –  but  can  be  part  of  an  Asset   •  Template  (and  CSElement)   •  It  is  a  (special)  asset   •  It  can  render  a  (non  executable)  asset   •  They  wraps  Elements  with  metadata   •  It  is  executable     •  It  is  publishabe   4  
  • 5. The  rendering  process   Wrapper   •  It  starts  always  with  a   Wrapper  and  c/cid   •  It  will  select  an  asset   and  a  layout   •  You  will  apply  different   elements  to  different   content  on  the  road   TopNav SideNav Detail Footer Layout
  • 6. Templates  &  CSElement   •  It  is  an  Asset  holding   an  Element   •  It  is  Publishable   •  It  contains  meta  data   •  It  is  UNCACHED   •  Use  for  rendering  logic   that  embed  html  in  the   caller   •  In  is  an  Asset  holding   an  Element     •  It  is  Publishable   •  It  contains  meta  data   •  It  is  CACHED   •  Use  for  rendering  logic   that  create  separate   Pagelets   6  
  • 7. WCS  main  concepts   •  Separate  content  from  presentation   •  Select  an  asset  (content  data)   •  c  is  the  content  type   •  cid  is  the  content  id   •  Select  an  element  (presentation  logic)   •  pagename  is  the  Element   •  You  always  apply  an  element  to  an  asset   •  So  you  need  a  pagename  and  a  c+cid  
  • 8. Module:  Installation   Installing  AgileSites  3.11   8  
  • 9. Prerequisites  for  AgileSites  3.11   •  Before  starting,  you  need  JAVA  1.7  JDK     •  WCS  Sites  11g  does  not  work  with  Java  8)   •  Download  JDK  1.7  from  the  Oracle  WebSite   •  Ensure  JAVA_HOME  points  to  the  Jdk  1.7   •  from  Windows  command  prompt:   •  echo  %JAVA_HOME%   •  from  OSX/Linux  terminal:   •  echo  $JAVA_HOME   9  
  • 10. Download  the  starter  manually   •  Create  a  folder:  e.g.  starter •  Download  this  zip  in  the  folder:   http://agilesites3-repo.s3.amazonaws /releases/11g/agilesites.zip •  it  is  a  single  URL,  do  not  split!       •  Unzip  it  inside  the  folder     •  Execute  the  agilesites  script   •  Either  .sh  for  OSX/Linux  or  .cmd  for  Windows       10  
  • 11. Alternative  download  using  git   •  Get  git  for  your  operating  system   •  Decide  for  a  folder  name:  e.g.  starter •  Execute  this  command  from  the  parent  folder:   git clone http://github.com/sciabarra/AgileSites3.11 starter •  it  is  a  single  command  line,  do  not  split!   •  Cd  in  the  folder  and  execute  the  agilesites  script   •  Either  .sh  for  OSX/Linux  or  .cmd  for  Windows     11  
  • 12. Install  WebCenter  Sites  11g   •  Everything  starting  with  >  is  should  be  executed   at  the  agilesites  prompt   •  Downloading  Sites   > sitesDownload <username> <password> •  you  must  use  your  oracle  credentials   •  Install  Sites:   > sitesInstall •  Log  into  Sites: http://localhost:11800/cs/ 12  
  • 13. Use  an  IDE  for  editing   •  Generate  eclipse  configuration  files   > eclipse •  you  can  now  edit  it  with  Eclipse   •  You  can  also  use  other  editors  like  IntelliJ  or   Netbeans     •  The  project  is  a  standard  java-­‐only  project   13  
  • 14. Control  the  Server   •  Control  the  server   > server status > server stop > server start •  Generate  a  script  for  starting  sites:   > server script 14  
  • 15. Generate  a  new  WebSite  and   install  it   •  Decide  for  a  name  and  a  prefix:      e.g.  Starter  St     > asNewSite Starter St •  Install  Agilesites  and  the  newly    created  site   > asSetup •  Log  into  sites  and  create  a  new  page  named   Home   •  You  can  see  now  it  as:   http://localhost:11800/cs/Satellite/starter/     15  
  • 16. Lab   • Install  WebCenter  Sites   • Generate  a  new  site   • Install  agilesites  and  the   new  site   • Check  you  get  the   ErrorPage   • Create  a  page  named   Home   • Check  you  get  the  Home   Page   Goal:  Installing  WCS  and  create   a  new  agile  Site   16  
  • 17. Module:  Site  Structure   What  is  in  a  Site?   17  
  • 20. Configurations   •  Router   •  decode/encore  urls   programmatically   •  route     get  an  url  and  calls  a   CSElement   •  link   get  an  asset  and   returns  an  URL   •  Config   •  maps  type  names  in   attribute  names   •  (workaround  for  a   limitation  of  the  Sites   API)   20  
  • 21. Basic  Content  Model   •  Types:   •  Page   •  the  built  in  Page  type   •  StContent   •  a  content  type  of  a  flex   family   •  StParent   •  a  parent  type  of  a  flex   family   •  Subtypes   •  StHome   •  A  subtype  of  Page  for   rendering  the  Home   Page   21  
  • 22. Basic  Templates  &  CSElements   •  CSElement   •  Starter   •  the  wrapper   •  StError   •  default  error  page   •  StTester   •  test  runner  for   integration  tests   •  Templates   •  StHomeLayout   •  template  for  the  home   page   •  Mockup   •  template.html   •  used  by  all  the   templates  ans   cselements     22  
  • 23. Tests   •  Unit  Tests   •  StErrorTest   •  StHomeLayoutTest   •  Integration  Tests   •  StErrorTest   23  
  • 24. AgileSites  ABC   •  Env:     •  Asset:   •  Picker     24  
  • 25. Lab   • Add  an  attribute   • Change  the  template   • Write  a  test   • Deploy  the  Site   • Add  the  statics  from  the   url  below  and  fix  html   Familiarize  with  the  project   structure  and  the  development   workflow.   25   http://agilesites3-­‐repo.s3.amazonaws.com/starter.zip    
  • 26. Beginning     Content  Modelling   Lean  how  to  create    your  content  model   26  
  • 27.         Type:   Page                                       Subtype:   Home                 Hierarchy   27   PageAttribute   PageDefinition   StHome   StText   StTitle   Attribute:   StText   Attribute:   StTitle   Attr   Types  
  • 28. Attributes   •  Attributes  can  be   •   single   •  multiple   •  AttributeEditors   •  Stock   •  Custom   •  Attributes  have   different  types   •  String   •  Text  (long  string)   •  Image   •  Asset   28  
  • 29. Attribute  Editors   29   •  Attribute  editors   define  editing  options   for  attributes   •  TEXTAREA   •  CKEDITOR   •  Defined  with  an  XML   file   •  Unfortunately   •  Documented  in   developer  manual  
  • 30. Attribute  Editors   •  Normally  declared  in  the  Site  configuration  file   •  Need  to  specify  only  the  details  of  the  attribute  editor   •  Name  is  the  field  name   30  
  • 31. Attributes   31   Title   Subtitle   Sumary   Detail   Image   TeaserTitle   TeaserText  
  • 32. Flex  Family  Content  Types   32   •  A  standard  wrapper  class  is  required     to  represent  them  in  Java  
  • 33. Definitions   •  Definitions     •  A  set  of  Attributes   •  Used  by  contents  to   define  their  attributes     33  
  • 34. Definitions   •  You  need  a  definition  to  be  a  container  of   attributes   •  Note  it  is  a  subtype  so  extends  a  type   34  
  • 35. Attributes   35   •  Text  with   description,   mandatory     •  Text    with   attribute   editor   •  Attribute   multiple  
  • 36. Attributes,  continue   •  Blob  Attribute   •  Asset  Attribute   36  
  • 37. Lab:    Create   Attributes   •  Define  2  attribute  editors   •  CKEDITOR   •  TEXTAREA   •  Define  attributes   •  Subtitle:  single,  string,     •  Summary:  text,  single  TEXTAREA   •  Text:  text,  single   CKEDITOR   •  Image:  single,  blob   •  TeaserTitle:  multiple,  string   •  TeaserText:  multiple,  text   •  Related:  asset,  multiple   •  SeeAlso:  asset:,  multiple   •  Place  them  in  the  Content   definition   Objective:   Learn  about  attributes,   definitions  and  attribute  editors   You  will  create  all  is  needed  to   render  a  whole  page     37  
  • 38. Placing  Attributes     in  a  mockup   From  static  html  to  a  dynamic  website   38  
  • 39. The   common   part  of     web  page     The  specific     part  of  each   layout   39   Wrapper                         Layout                 The  fine  art  of  HTML  cutting  
  • 40. Extracting  attributes   •  Load  as  asset   (default  the  current)   •  Read  the  attributes  of  the  asset:     40  
  • 41. Mockup  in  Java  with  Picker   •  Pick  the  html   Picker p = Picker.load("/blueprint/template.html") •  Moustache                  {{Attribute}} •  Replacements   p.replace("#location", a.getString("Value")) 41  
  • 43. Lab:  populate   the  mockup   Implement  the  following   attributes:   •  Summary   •  Details   •  Teaser  Title   •  Teaser  Text   •  Image   •  Related   •  SeeAlso   Goal:     Populate  your  html  mockup   with  content       43  
  • 44. Rendering  Links   Let's  see  how  Implement  navigations   44  
  • 45. What  is  a  link  in  Sites  anyway?   •  You  always  link  to  ASSETS   •  So  you  get  the  ASSET  then  extract  the  URL  to.   •  Link  to  myself:   •  e.getAsset().getUrl() •  Not  very  useful  in  practice,  so  you  use  attributes  or  siteplan.   For  example:   •  url = a.getAsset("Related").getUrl() •  a = e.findOne("Page", 
 arg("name", "Home");
 url = a.getUrl(); 45  
  • 46. SitePlan   •  Navigating  the  siteplan   •  Get  the  nodeid  first   •  Siteplan  functions   •  Path   •  Children   •  Whole  tree   •  Others  (check   siteplan:*)   46   Path   getsitenode   chidren  
  • 48. Lab:  rendering   top  menu   • Write  a  method     implementing  the   topmenu   •  Show  links  to  the  first   level  pages  in  the   siteplan   Goals:  learn  how  to  create  links   and  navigate  the  siteplan   48  
  • 49. Rendering       Inner  elements   Nesting  is  the  key  for  leveraging  the  content  model   49  
  • 50. A  composite  view   •  Not  everything  that  is  needed  to  render  a  web   page  is  an  attribute  of  a  single  asset   •  Very  often  you  have  a  set  of  assets  that  refers  each   other   •  The  golden  rule  of  Sites  template  development   •  In  a  template  render  only  ONE  asset   •  If  you  find  another  asset.  change  the  current  asset  (c/cid)  and     call  another  template     50  
  • 51. Spot  the  difference   51   Fields  of  the  same  asset  –  no  need  to  change  template   Fields  of  a  different  asset  –  need  to  call  a  different  template  
  • 52. Create  a  new  CSElement   52  
  • 53. Invocation  of  a  CSElement     •  Use  the  Env:     •  Note  the  invocation  is  a  String  that  can  be  placed   •  Invocation  happens  actually  later     •  It  is  not  a  procedure  call,  but  a  note  to  the  system  to   use  the  output  of  a  cselement  for  rendering     53  
  • 54. Create  a  new  template   54  
  • 55. Invocation  of  a  Template   •  You  always  need  an  asset  to  invoke  the  template     •  You  replace  the  call,  but  do  not  forget  the  cache   •  Generally  you  get  the  asset  from  an  attribute   •  you  need  to  specify  the  type  of  the  asset         55  
  • 56. Lab:  calling   templates  and   elements   • Create  a  CSElement  and   move  the  topmenu  logic   in  it   • Create  a  Template  and   use  it  to  render  the   SeeAlso  blocks   At  the  end  you  will  render  the   summary  with  a  separate   template   56   Code  for  the   StHomeSummary   Template  
  • 57. Slot   Drag  and  drop  other  assets  in  the  current  page   57  
  • 60. Lab:  Slot   • Replace  the  calls  as  slots   • Implement  the  related   slot  list   In  this  lab  you  will  create  slots   for  drag-­‐n-­‐drop  of  content   60