OpenCms Days Technical Track: Using the Alkacon OAMP Module series to enhance OpenCms Michael Emmerich, Alkacon Software GmbH.

Similar documents
OpenCms Days Secrets of using the. Technical Track: Michael Moossen, Alkacon Software GmbH

A non-technical, business introduction to OpenCms 6. Alkacon Software GmbH March, 2006

OpenCms Hispano s Modules

AIM. 10 September

A non-technical, business introduction to OpenCms 7. Alkacon Software GmbH August, 2007

BUILDING A WEBSITE FOR THE NUMBER ONE CHILDREN S HOSPITAL IN THE U.S. May 10, 2011

Webform: THERE IS THIS FOR THAT

Blue Form Builder extension for Magento 2

Bayer. Bayer Business Services Pascal Hollenbrock Bayer Page 1

Webform: THERE IS THIS FOR THAT

EMC Documentum Forms Builder

An introduction to OpenCms, version 4.6

administrative control

PHP & My SQL Duration-4-6 Months

D6.1. Project website and internal IT communication infrastructure HINT. 36 months FP7/

JOB SCHEDULER JOB DOCUMENTATION EDITOR

Custom Contact Forms Magento 2 Extension

Login: Quick Guide for Qualtrics May 2018 Training:

US: UK: +44 (0) AU: 1 (800) SG:

End User SharePoint 2010 Videos List

axes extensions Newsletter April 2010 In This Issue

The project is conducted individually The objective is to develop your dynamic, database supported, web site:

Advanced Usage of Multi Site Functionality. Olli Aro Head of Technology & Products, Clicks and Links Ltd

Oracle Application Express 5 New Features

The main differences with other open source reporting solutions such as JasperReports or mondrian are:

1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear.

Microsoft Windows SharePoint Services

Sun Sun Certified Web Component Developer for J2EE 5 Version 4.0

28 JANUARY, Updating appearances. WordPress. Kristine Aa. Kristoffersen, based on slides by Tuva Solstad and Anne Tjørhom Frick

User guide Capture Popup Campaigns with Discount Vouchers

Alpha College of Engineering and Technology. Question Bank

Darbs projektu grupās un procesu automatizācija

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Joomla

Using the Backup module

Explorer View document libraries, 165 form library, 183

Newsletter Popup v3.x Configuration for Magento 2

Developing Web Views for VMware vcenter Orchestrator. vrealize Orchestrator 5.5

IBM Lotus Quickr Customization

Entry Level Assessment Blueprint Web Design

User Guide. Kronodoc Kronodoc Oy. Intelligent methods for process improvement and project execution

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

GroupWise Architecture and Best Practices. WebAccess. Kiran Palagiri Team Lead GroupWise WebAccess

Responsive & personalized marketing for hotels. netupdater MAIL

Internet Standards for the Web: Part II

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views!

CSCIE-275. Guide for Chief Programmers

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

OU Mashup V2. Display Page

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Blue Form Builder extension for Magento2

(Frequently Asked Questions)

Open-Xchange Server Service Pack 1 (SP1)

Understanding Page Template Components. Brandon Scheirman Instructional Designer, OmniUpdate

Visual Web Next Design Concepts. Winston Prakash Feb 12, 2008

PreTect Analysis Documentation

Technical Overview. Access control lists define the users, groups, and roles that can access content as well as the operations that can be performed.

Web logs (blogs. blogs) Feed support BLOGS) WEB LOGS (BLOGS

LimeSurvey User Guide to Creating Surveys

The CHECKBOX Quick Start Guide

Administration Guide

eform Suite Version 5

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress

Basic. $5/user per mo.

G-Lock EasyMail7. Startup Guide. Client-Server Marketing Solution for Windows. To learn more about G-Lock EasyMail7, visit

Transport Observatory Project

JINC THE ADMINISTRATION GUIDE

An Oracle White Paper April Oracle Application Express 5.0 Overview

Extending and Customizing the IBM Security Identity Manager

Dreamweaver is a full-featured Web application

Dreamweaver is a full-featured Web application

RIGHTNOW CX CLOUD MANAGED SERVICES MATRIX

Oracle Service Cloud Integration for Developers Ed 1

Developing Web Views for VMware vcenter Orchestrator

ONCONTACT MARKETING AND CAMPAIGN USER GUIDE V10

Leveraging the Direct Manipulation Capabilities of OpenCms by Introducing a Page Definition Layer -

All India Council For Research & Training

Monitoring Table of Contents:

Printing a Monthly Calendar Updated: November 4, 2015

SAS Web Infrastructure Kit 1.0. Developer s Guide

HTML 5 and CSS 3, Illustrated Complete. Unit M: Integrating Social Media Tools

OpenCmsDays How OpenCms is used in the italian Public Administration. Antonio Nanni. Engineering Ingegneria Informatica S.p.a.

VIVVO CMS Plug-in Manual

Version USER GUIDE

How to Mail Merge PDF Documents

Information Technology Web Solution Services

MagicSubscriber v2.3 Secret -Trap Marketing Strategy and User Manual

Sametime Links 3.0 Toolkit

Startup Guide. Version 2.3.7

Survey Creation Workflow These are the high level steps that are followed to successfully create and deploy a new survey:

FLUIDSURVEYS > QUALTRICS

It is necessary to follow all of the sections below in the presented order. Skipping steps may prevent subsequent sections from working correctly.

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Creating Effective School and PTA Websites. Sam Farnsworth Utah PTA Technology Specialist

This is a known issue (SVA-700) that will be resolved in a future release IMPORTANT NOTE CONCERNING A VBASE RESTORE ISSUE

General Enhancements. REDCap Indiana University Release Notes. New features: Improvements:

Oracle Service Cloud Integration for Developers Ed 1

IBM Workplace Web Content Management and Why Every Company Needs It. Sunny Wan Technical Sales Specialist

The Web Information system for the Italian National Institute for Astrophysics: the experience by using the Zope/Plone framework

Motors Car Dealership and Classifieds Wordpress Plugin

Features & Functionalities

Transcription:

OpenCms Days 2009 Technical Track: Using the Alkacon OAMP Module series to enhance OpenCms Michael Emmerich, Alkacon Software GmbH.

Agenda 1. Introduction of the Alkacon OAMP Modules Overview over exiting OAMP Modules 2. OAMP DocCenter Module Usage of the DocCenter Module Excursion : The ResourceInit Handlers 3. OAMP Webform Module and its extensions Webform Module Survey Module Comments Module

Introduction of the Alkacon OAMP Modules

Introduction The Alkacon OAMP Modules What are the Alkacon OAMP Modules? OAMP = OpenCms Add-On Modul Paket Free, Open Source Modules to enhance OpenCms Source Code available via CVS Partly based on experience of customer projects New versions of several Modules will be released after the OpenCms days

Overview over existing Alkacon OAMP Modules

Alkacon OAMP Newsletter Module

Overview Alkacon OAMP Newsletter Module Key Features: Configurable mailing lists with different subscribers via OUs Editable newsletter content that can be sent to different mailing lists Configurable subscription/unsubscription pages Administration interface to manage users and send newsletters Includes predefined Newsletter XML- Content

Overview Alkacon OAMP Newsletter Module Integrate your own XML content: Implement the Interface I_CmsNewsletterMailData (extend the A_CmsNewsletterMailData) with methods getemail getemailcontentpreview getresourcetypename Configuration via Module Parameter: Own CmsNewsletterMailData class must be defined as module parameter class_maildata

Alkacon OAMP Counter Module

Overview Alkacon OAMP Counter Module Key Features: DB-based generic counter Used to implement: Automatic filename creation, e.g. myfile_{x}.html where {x} is an increasing number Download counters Administration tool to maintain counters API to access counters from your own Java- Code

Overview Alkacon OAMP Counter Module How to use in own code: Access via CounterManager object Sample Code: private String getid(string conntetid) throws CmsException { String number = "00000"; // read counter from DB and increment it int dbnumber = getcountermanager().incrementcounter(counterid); number = number + dbnumber; number = number.substring(number.length() - 5, number.length()); } return number; Will produce a 5 digit counter number

Alkacon OAMP Web Optimization Module

Overview Alkacon OAMP WebOpt Module Key Features: Minify, obsfuscate and merge of.css and.js files On the fly image sprite creation Improve website performance by File compresion -> faster download time File merging -> fewer HTTP requests Image Sprites -> fewer HTTP requests Offline project always shows uncompressed original files

Overview Alkacon OAMP WebOpt Module Usage: Alkacon Optimized JS Resource (optimized.js) Defines the.js files to merge Compression and merge factors Source in JSP: <%@ page session="false" import="com.alkacon.opencms.weboptimization.*" %><% CmsOptimizationJs ojs = new CmsOptimizationJs(pageContext, request, response); ojs.includedefault("%(link.strong:optimized.js)"); %> Online Project: <script type= text/javascript src= optimized.js ></script> Offline Project: <script type= text/javascript src= original1.js ></script> <script type= text/javascript src= original2.js ></script>

Alkacon OAMP Syndication Feed Module

Overview Alkacon OAMP Syndication Feed Module Key Features: Create syndication feeds from XML contents Use OpenCms collectors to collect the content included in the feeds Collector specifies which xml contents are contained in the feed Configurable mapping of XML content fields to feed fields Complete configuration is done in a feed XML content

Alkacon OAMP Calendar Module

Overview Alkacon OAMP Calendar Module Key Features: Calendar with week, month and year overviews Normal entries (Alkacon calendar entry) Serial entries (Alkacon serial date entry) Side elements for monthly or last recent entries Addition of local holidays

Overview Alkacon OAMP Syndication Feed Module Integration: Required Style sheet: /system/modules/com.alkacon.opencms.calendar/resources/ calendar.css Monthly side view: Include the file /system/modules/com.alkacon.opencms.calendar/ elements/calendar-sidemonth.jsp Last recent side view: Include the file /system/modules/com.alkacon.opencms.calendar/ elements/calendar-sidecurrententries.jsp A file of the type Alkacon calendar view as detail display

Overview Alkacon OAMP Syndication Feed Module Integration: Required Style sheet: /system/modules/com.alkacon.opencms.calendar/resources/ calendar.css Monthly side view: Include the file /system/modules/com.alkacon.opencms.calendar/ elements/calendar-sidemonth.jsp Last recent side view: Include the file /system/modules/com.alkacon.opencms.calendar/ elements/calendar-sidecurrententries.jsp A file of the type Alkacon calendar view as detail display

The Alkacon OAMP DocCenter Module

OAMP DocCenter Module DocCenter Module Key Features: Categorized Documents Document lists are created by Directory listings Display of recent changes in Document center Full text search for documents in DocCenter History of older Document versions (optional) Disclaimer function for downloads (optional)

OAMP DocCenter Module DocCenter Module Usage: Download areas on websites: Multiple independend download areas can be stored anywhere in the VFS Documents centers in Intranets: Example: Intranet with several thousand documents based on the OAMP DocCenter module

OAMP DocCenter Module DocCenter Module Installation: Normal module installation Modification of opencms-system.xml: Add the ResourceInit handler <resourceinit> <resourceinithandler class="com.alkacon.opencms.documentcenter.cmsshowdisclaimer"/> <resourceinithandler class="com.alkacon.opencms.documentcenter.cmsshowdefaultfile"/> </resourceinit> What is a ResourceInit handler? A little excursion will follow later

OAMP DocCenter Module DocCenter Module Hands-on example: A real-live presentation explains much more than 1000 slides.

OAMP DocCenter Module DocCenter Module Customize the DocCenter: You can write your own JSPs using the DocCenter functions for a customized layout Make a copy of the original DocCenter JSP into your module Customize the JSPs Use your own File icons ic_app_{extension}.gif in the /resources/ folder of the DocCenter module

OAMP DocCenter Module DocCenter Module Configuration via Module Parameter Different DocCenter layouts possible for different sites Default: defaultfile_default=/system/modules/com.alkacon. opencms.documentcenter/pages/documents.jsp Customized: defaultfile_default=/system/modules/my.module/pages/do cuments.jsp Customized for special site: defaultfile_mysite=/system/modules/my.other.module/pag es/documents.jsp

Excursion: The ResourceInit Handler

OAMP DocCenter Module The ResourceInit Handler What is a ResourceInit handler? It allows to read a different resource than the one shown in the URI Normal behaviour of OpenCms The URI maps to a resource in the VFS If the URI maps to a non existing file in the VFS, a 404-Error is thrown With a ResourceInit handler, we can use a virtual URI that does not exist in the VFS

OAMP DocCenter Module The ResourceInit Handler Example: www.myserver.com/opencms/opencms/index.html is mapped to /sites/default/index.html With ResourceInit Handler the following is possible: www.myserver.com/opencms/opencms/special/index.html is mapped to /sites/default/internal/specialfolder/index.html But the URI keeps the same!

OAMP DocCenter Module The ResourceInit Handler Where is a ResourceInit handler used? OAMP DocCenter: Directory listing Disclaimer OpenCms Core: Show history version From customer projects: Automatic PDF Form insertion

OAMP DocCenter Module The ResourceInit Handler Implementation & Configuration ResourceInit Handler must implement the interface org.opencms.main.i_cmsresourceinit and the method initresource Is configured in the opencms-system.xml: <resourceinit>... <resourceinithandler class="com.alkacon.myinithandler"/>... </resourceinit>

OAMP DocCenter Module The ResourceInit Handler Implementation & Configuration Multiple ResourceInit handlers can configured Handlers will executed in the order of the configuration ResourceInit hander analyses the URI and returns a CmsResource Each handler should have an exclusive trigger in the URI which signals that it should be used Important: Each request into OpenCms will run though all ResourceInit handler, so take care what you implement in them: PERFORMANCE!

OAMP DocCenter Module The ResourceInit Handler Code example: public class MyInitHandler implements I_CmsResourceInit { /** trigger path. */ public static final String HANDLER_PATH = /special/"; } public CmsResource initresource( CmsResource resource, CmsObject cms, HttpServletRequest request, HttpServletResponse response) throws CmsResourceInitException { // only process this handler if there is a real request if (request!= null) { String uri = cms.getrequestcontext().geturi(); // only process those requests that start with the trigger path if (uri.startswith(handler_path)) { // extract the uri of the resource we really wanted to read uri = uri.substring(handler_path.length(), uri.length()); // do your implementation here } } return resource; }

The Alkacon OAMP Webform Module and its extensions

Alkacon OAMP Webform Webform Module Key Features: Customizable easy to build webfoms via XML Contents Different types of input fields: Text, Text area, Radio buttons, File uploads Checkboxes etc Optional Database storage Backoffice to manage values stored in Database Usage of CAPTCHA fields Extendable with other OAMP modules

Alkacon OAMP Webform Webform Module Customization: Frontend HTML: Defined in workplace.properties file in HTML snippets Copy existing file to your module and use the module parameter message to point to the customized file Frontend CSS: Customizable class addition in Form XML- Content

Alkacon OAMP Webform Webform Module Dynamic field: You can define form fields that get their values from your own code Write a class that implements the interface com.alkacon.opencms.formgenerator.i_cmsdynamicfieldr esolver Implement method public String resolvevalue(cmsdynamicfield field, CmsForm form) Define your class in the XML content of your webform

Alkacon OAMP Webform WebForm Module Extensions: Survey module with graphical summary Comments module Those modules use the API and database provides by the Webform Module.

The Alkacon OAMP Survey Module

Alkacon OAMP Webform Survey Module Key Features: Surveys based on the OAMP Webform, can be easiely edited Entries are stored in DB Export of survey data for further processing Graphical Summary of survey results

Alkacon OAMP Webform Survey Module Only the following field types are used in the survey report: Checkbox Radio buttons Select box Other fields (e.g. text boxes) are possible, but stored as individual values Only one participation per survey and user (Cookies)

Alkacon OAMP Webform Survey Module Customization: As based on OAMP Webform, the same technique is used IMPORTANT: You have to include the following.css files in your template: /system/modules/com.alkacon.opencms.survey /resources/css/webform.css /system/modules/com.alkacon.opencms.formgenerator /resources/css/webform.css Alternativly, you can use your own customized versions of those.css files

The Alkacon OAMP Comments Module

Alkacon OAMP Webform Comments Module Key Features: Comment form can be integrated in existing pages Moderated and unmoderated comments possible Different security levels Administration via direct edit

Alkacon OAMP Webform Comments Module Integration into own pages: Property comments points to a comment configuration file Code inserted into template: <c:set var="comments"><cms:property name="comments" file="search"/></c:set> <c:if test="${!empty comments}"> <cms:include file="%(link.weak:/system/modules/ com.alkacon.opencms.comments/elements/comment_main.jsp)" > <cms:param name="cmturi" value="${cms.requestcontext.uri}" /> </cms:include> </c:if>

Thank you very much for your attention! Michael Emmerich Alkacon Software GmbH http://www.alkacon.com http://www.opencms.org