SlideShare a Scribd company logo
Layout Editor




Present by Nguyen Huu Phuoc, Founder of NextCMS
             thenextcms@gmail.com
 NextCMS is a content management, built on top of
 zend framework, dojo toolkit, and jquery

 It is free and open source software


 This slide tell you one of many reasons why you should
 choose NextCMS instead of other one
We need a Layout Editor (or Template Builder, or
whatever you say) which is:

 Easy to use for both end-users and developers


 Easy to customize the layout of page
We are going to create a page as the following
Layout is organized by border containers

   top container




  center container




bottom container
grid containers: placed inside border containers




                                                   left column

  grid container
   (2 columns)


                                                   right column
widgets, main content pane: placed inside grid column
menu
editor
                                                bread crumb
search box

                                               main content
categories

                                               url shortener
banners                                             banners


google adsense
                                                comments


menu
 Step 1: Splitting page to border containers
Method 1: right-click on node, choose Insert border container
 Step 1: Splitting page to border containers
Method 2: drag and drop containers
 Step 2: Inserting grid container
 Step 2: Setting the grid columns
 Step 3: Inserting widgets
Method 1: drag widget and drop on the target column
 Step 3: Inserting widgets
Method 2: drag widget and drop on the target node
 Step 4: Inserting main content pane
main content pane: the main content of page without widgets, such as
the content of article, etc.
Drag and drop widgets/main content pane between grid
columns
It is also possible to insert tab containers
We need to mofify the content, such as:

 Replace special characters with emotion icons in the article’s content


 Replace bad word with pre-defined characters in the article’s content


 Create a slideshow consisting of all images taken from the article’s
  content

 etc.


Content modifiers are called as FILTERS
 Applying filters to given element:
Using available and/or additional filters




 drag and drop
to change filter’s
     position
Example of filter:
Slideshow - Showing a slideshow of all images taken from the content
Example of filter:
Navigator - Creating a table of content based on headings
 Setting id, class, style attributes for div tags that show
  layout elements

<div class="container
            top_container"
     id="topContainer"
     style="height: 30px;
            width: 100%">
  ...
</div>
 Cloning layout by copying ...
 ... and pasting
It is possible to define the layout in a XML file:

 Template providers can package the template with pre-
  defined layouts

 Community can share the layout with each other


 Administrator can backup and restore the layout
XML structure:

<?xml version="1.0" encoding="UTF-8"?>
<layout>
  ...
</layout>
 Inserting a border container


<layout>
  <borderContainer region="top">
    ...
  </borderContainer>
</layout>

region: top, bottom, left, right, center
 Inserting a grid container


<borderContainer region="center">
  <gridContainer>
    ...
  </gridContainer>
</borderContainer>
 Inserting a grid column


<gridContainer>
  <zone cssClass="leftContainer">
    ...
  </zone>
  <zone cssClass="rightContainer">
    ...
  </zone>
</gridContainer>
 Inserting a tab container

<zone cssClass="rightContainer">
  <tabContainer>
    <gridContainer title="Top viewed">
      ...
    </gridContainer>
    <gridContainer title="Top commented">
      ...
    </gridContainer>
  </tabContainer>
</zone>
 Inserting the main content pane


<zone cssClass="leftContainer">
  <mainContentPane />
</zone>
 Inserting a widget

<zone>
  <widget module="content" name="articles"
           title="Latest articles">
    <params>
       <param name="data_source">
         <value><![CDATA[...]]></value>
       </param>
       <param name="template" value="list" />
       <param name="limit" value="4" />
       <param name="category_id" value="__AUTO__" />
    </params>
  </widget>
</zone>
 Styling page elements: id, cssClass, cssStyle attributes

<borderContainer region="top" id="topContainer">
  <gridContainer cssStyle="border: 1px solid #ccc">
    <zone cssClass="leftContainer">
      <widget module="..." name="..."
              cssClass="searchBoxContainer">
      </widget>
    </zone>
  </gridContainer>
</borderContainer>
 Defining a filter

<mainContentPane>
  <filters>
    <filter module="util" name="slideshow" />
    <filter class="Util_Services_HiddenLink" />
  </filters>
</mainContentPane>
 Importing layout from a XML file
 Exporting layout to a XML file
Customizing the dashboard
dashboard: where displays the data you care most

 Latest unactivated articles/comments


 Latest unread private messages


 Uncompleted todo list


 etc.
Customizing the dashboard
Have you ever wished?

 Place a poll inside an article’s content


 Place a photo slideshow at the end of article’s content


 Place a Google Adsense banners inside an article’s
  content

 etc.
Placing any widget at any position of article’s content
Example: inserting a poll inside the content
Example: inserting a poll inside the content
Example: inserting an album at the bottom of content
We listen to you!

On social networks
 twitter.com/thenextcms
 facebook.com/nextcms
 youtube.com/thenextcms
 slideshare.net/thenextcms
 github.com/thenextcms


Email
thenextcms@gmail.com
nextcms.org
nextcms.tv

 © 2012 Nguyen Huu Phuoc
  thenextcms@gmail.com

More Related Content

PPTX
Magento 2 theming - knowledge sharing session by suman kc
PPT
Android
PPT
Android 2
PDF
Polymer
PPTX
Bootstrap 4 ppt
PDF
How to Develop a Basic Magento Extension Tutorial
PDF
Chapt 04 user interaction
PDF
Magento Layered Navigation Pro user manual by Aitoc
Magento 2 theming - knowledge sharing session by suman kc
Android
Android 2
Polymer
Bootstrap 4 ppt
How to Develop a Basic Magento Extension Tutorial
Chapt 04 user interaction
Magento Layered Navigation Pro user manual by Aitoc

What's hot (9)

PDF
Extending Magento Layered Navigation
PDF
Whmcs addon module docs
PPTX
Introduction to UI Components in Magento 2
PPTX
Magento 2 UI Components Overview
PPTX
Editing the Visual Editor (WordPress)
PPTX
Menu stripe
PDF
Creating a Simple, Accessible On/Off Switch
PDF
Different types of sticker apps
PPT
Visual Basic menu
Extending Magento Layered Navigation
Whmcs addon module docs
Introduction to UI Components in Magento 2
Magento 2 UI Components Overview
Editing the Visual Editor (WordPress)
Menu stripe
Creating a Simple, Accessible On/Off Switch
Different types of sticker apps
Visual Basic menu
Ad

Viewers also liked (20)

PDF
Sujana gole
PPT
Ed 271 technology proficient professional presentation
PPT
Snizhana ovechko
PPT
Oleksandr kamenchuk 2
PDF
Sống theo phương thức 80 - 20
DOC
статья шевнин киров
PPT
Литвинюк O
PDF
Culinary Wines - Constellation Portfolio
PDF
GPS GLONASS
PDF
Malikiosi&loizou
PDF
Public Campaign_Entrepreneurship
PPT
Israel Through Maps - D. Ackerman - Website TEACHERS
PPTX
Quality assurance in practice - coffee meeting, January, DIGIT
DOC
Yanommi
PPTX
Молчанов д
PPS
Trilo food
PPTX
Can we irrigate the sahara
PPTX
Презентація до комітетських слухань
PPT
Teaching Holy Land - Website TEACHERS
PDF
Desmania design Packaging & Product Design Profile
Sujana gole
Ed 271 technology proficient professional presentation
Snizhana ovechko
Oleksandr kamenchuk 2
Sống theo phương thức 80 - 20
статья шевнин киров
Литвинюк O
Culinary Wines - Constellation Portfolio
GPS GLONASS
Malikiosi&loizou
Public Campaign_Entrepreneurship
Israel Through Maps - D. Ackerman - Website TEACHERS
Quality assurance in practice - coffee meeting, January, DIGIT
Yanommi
Молчанов д
Trilo food
Can we irrigate the sahara
Презентація до комітетських слухань
Teaching Holy Land - Website TEACHERS
Desmania design Packaging & Product Design Profile
Ad

Similar to Why NextCMS: Layout Editor (20)

PDF
Fewd week2 slides
DOCX
Master page
PDF
GWT training session 2
PDF
Tips and Tricks for LiveWhale Development
PDF
New CSS Layout Meets the Real World
KEY
Html 5, a gentle introduction
KEY
Html5, a gentle introduction
PDF
OpenCms Days 2015 Modern templates with nested containers
PDF
Documentation For Tab Setup
PDF
An Event Apart Seattle - New CSS Layout Meets the Real World
PPTX
Bootstrap PPT by Mukesh
PDF
An Event Apart DC - New CSS Layout meets the Real World
PPTX
Drupal For Dummies
KEY
TinyMCE: WYSIWYG editor 2010-12-08
PPTX
Unit g adobe dreamweaver cs6
PPTX
6 Special Howtos for Drupal
PDF
Architecture Specification - Visual Modeling Tool
PDF
Responsive Design and Bootstrap
PPTX
Integrate widgets into content pages (DX) - Developers Meetup - October 2016
PDF
A Guide to Creating a Great Custom Tailwind Sidebar
Fewd week2 slides
Master page
GWT training session 2
Tips and Tricks for LiveWhale Development
New CSS Layout Meets the Real World
Html 5, a gentle introduction
Html5, a gentle introduction
OpenCms Days 2015 Modern templates with nested containers
Documentation For Tab Setup
An Event Apart Seattle - New CSS Layout Meets the Real World
Bootstrap PPT by Mukesh
An Event Apart DC - New CSS Layout meets the Real World
Drupal For Dummies
TinyMCE: WYSIWYG editor 2010-12-08
Unit g adobe dreamweaver cs6
6 Special Howtos for Drupal
Architecture Specification - Visual Modeling Tool
Responsive Design and Bootstrap
Integrate widgets into content pages (DX) - Developers Meetup - October 2016
A Guide to Creating a Great Custom Tailwind Sidebar

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation theory and applications.pdf
PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Agricultural_Statistics_at_a_Glance_2022_0.pdf
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Programs and apps: productivity, graphics, security and other tools
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
“AI and Expert System Decision Support & Business Intelligence Systems”
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation theory and applications.pdf
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development

Why NextCMS: Layout Editor

  • 1. Layout Editor Present by Nguyen Huu Phuoc, Founder of NextCMS thenextcms@gmail.com
  • 2.  NextCMS is a content management, built on top of zend framework, dojo toolkit, and jquery  It is free and open source software  This slide tell you one of many reasons why you should choose NextCMS instead of other one
  • 3. We need a Layout Editor (or Template Builder, or whatever you say) which is:  Easy to use for both end-users and developers  Easy to customize the layout of page
  • 4. We are going to create a page as the following
  • 5. Layout is organized by border containers top container center container bottom container
  • 6. grid containers: placed inside border containers left column grid container (2 columns) right column
  • 7. widgets, main content pane: placed inside grid column menu editor bread crumb search box main content categories url shortener banners banners google adsense comments menu
  • 8.  Step 1: Splitting page to border containers Method 1: right-click on node, choose Insert border container
  • 9.  Step 1: Splitting page to border containers Method 2: drag and drop containers
  • 10.  Step 2: Inserting grid container
  • 11.  Step 2: Setting the grid columns
  • 12.  Step 3: Inserting widgets Method 1: drag widget and drop on the target column
  • 13.  Step 3: Inserting widgets Method 2: drag widget and drop on the target node
  • 14.  Step 4: Inserting main content pane main content pane: the main content of page without widgets, such as the content of article, etc.
  • 15. Drag and drop widgets/main content pane between grid columns
  • 16. It is also possible to insert tab containers
  • 17. We need to mofify the content, such as:  Replace special characters with emotion icons in the article’s content  Replace bad word with pre-defined characters in the article’s content  Create a slideshow consisting of all images taken from the article’s content  etc. Content modifiers are called as FILTERS
  • 18.  Applying filters to given element:
  • 19. Using available and/or additional filters drag and drop to change filter’s position
  • 20. Example of filter: Slideshow - Showing a slideshow of all images taken from the content
  • 21. Example of filter: Navigator - Creating a table of content based on headings
  • 22.  Setting id, class, style attributes for div tags that show layout elements <div class="container top_container" id="topContainer" style="height: 30px; width: 100%"> ... </div>
  • 23.  Cloning layout by copying ...
  • 24.  ... and pasting
  • 25. It is possible to define the layout in a XML file:  Template providers can package the template with pre- defined layouts  Community can share the layout with each other  Administrator can backup and restore the layout
  • 26. XML structure: <?xml version="1.0" encoding="UTF-8"?> <layout> ... </layout>
  • 27.  Inserting a border container <layout> <borderContainer region="top"> ... </borderContainer> </layout> region: top, bottom, left, right, center
  • 28.  Inserting a grid container <borderContainer region="center"> <gridContainer> ... </gridContainer> </borderContainer>
  • 29.  Inserting a grid column <gridContainer> <zone cssClass="leftContainer"> ... </zone> <zone cssClass="rightContainer"> ... </zone> </gridContainer>
  • 30.  Inserting a tab container <zone cssClass="rightContainer"> <tabContainer> <gridContainer title="Top viewed"> ... </gridContainer> <gridContainer title="Top commented"> ... </gridContainer> </tabContainer> </zone>
  • 31.  Inserting the main content pane <zone cssClass="leftContainer"> <mainContentPane /> </zone>
  • 32.  Inserting a widget <zone> <widget module="content" name="articles" title="Latest articles"> <params> <param name="data_source"> <value><![CDATA[...]]></value> </param> <param name="template" value="list" /> <param name="limit" value="4" /> <param name="category_id" value="__AUTO__" /> </params> </widget> </zone>
  • 33.  Styling page elements: id, cssClass, cssStyle attributes <borderContainer region="top" id="topContainer"> <gridContainer cssStyle="border: 1px solid #ccc"> <zone cssClass="leftContainer"> <widget module="..." name="..." cssClass="searchBoxContainer"> </widget> </zone> </gridContainer> </borderContainer>
  • 34.  Defining a filter <mainContentPane> <filters> <filter module="util" name="slideshow" /> <filter class="Util_Services_HiddenLink" /> </filters> </mainContentPane>
  • 35.  Importing layout from a XML file
  • 36.  Exporting layout to a XML file
  • 37. Customizing the dashboard dashboard: where displays the data you care most  Latest unactivated articles/comments  Latest unread private messages  Uncompleted todo list  etc.
  • 39. Have you ever wished?  Place a poll inside an article’s content  Place a photo slideshow at the end of article’s content  Place a Google Adsense banners inside an article’s content  etc.
  • 40. Placing any widget at any position of article’s content Example: inserting a poll inside the content
  • 41. Example: inserting a poll inside the content
  • 42. Example: inserting an album at the bottom of content
  • 43. We listen to you! On social networks  twitter.com/thenextcms  facebook.com/nextcms  youtube.com/thenextcms  slideshare.net/thenextcms  github.com/thenextcms Email thenextcms@gmail.com
  • 44. nextcms.org nextcms.tv © 2012 Nguyen Huu Phuoc thenextcms@gmail.com