Extending JBoss EPP and Site Publisher your way
Upcoming SlideShare
Loading in...5

Extending JBoss EPP and Site Publisher your way



JBoss World 2012

JBoss World 2012
Boston, 27/06/2012



Total Views
Slideshare-icon Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Extending JBoss EPP and Site Publisher your way Extending JBoss EPP and Site Publisher your way Presentation Transcript

    • Extending JBoss EPP and Site Publisher your wayRafael LiuTechnical Account Manager, Red Hat06.27.12
    • Agenda● 5 minutes intro● JBoss EPP ● Customizing EPP ● Kernel ● Portal Containers ● Demo● JBoss SP ● Customizing SP ● Customization features ● Demo
    • A comprehensive portal solution● JBoss Enterprise Portal Platform ● Reusable drag & drop portlets ● Authn/authz and user management ● Use standards ● Pluggable● JBoss Site Publisher ● Content Management System ● All through GUI: no code, no file editing, no deploy ● Content publishing, versioning, collaboration, etc.
    • Customizing EPP● Services / components ● Provide some functionality ● e.g.: JCR access, user management ● Configurable ● Reusable ● Built on top of a kernel● Changing or creating Portal Containers
    • Kernel● IoC container (PicoContainer) ● Declare services ● Plugin configurations ● classpath:/conf/configuration.xml● NOTE: restricted support
    • Kernel – Declaring new sevices<component> <key>org.exoplatform.container.definition.PortalContainerConfig</key> <type>o.e.c.d.PortalContainerConfigImpl</type> <init-params> <value-param> <name>default.portal.container</name> <value>portal</value> </value-param> <value-param> <name>default.rest.context</name> <value>rest</value> </value-param> <value-param> <name>default.realm.name</name> <value>gatein-domain</value> </value-param>... </init-params></component>
    • Kernel – Plugin configuration<external-component-plugins> <target-component>o.e.c.d.PortalContainerConfig</target-component> <component-plugin> <name>Change PortalContainer Definitions</name> <set-method>registerChangePlugin</set-method> <type>o.e.c.d.PortalContainerDefinitionChangePlugin</type> <init-params> <values-param> <name>apply.specific</name> <value>portal</value> </values-param>... </init-params> </component-plugin></external-component-plugins>
    • Kernel – Using servicespublic class SimpleResourceBundleService extends BaseResourceBundleService{ public SimpleResourceBundleService( InitParams params, CacheService cService, LocaleConfigService localeService) throws Exception { log_ = ExoLogger.getLogger("org.exoplatform.services.resources"); localeService_ = localeService; cache_ = cService.getCacheInstance(ResourceBundleData.class); initParams(params); }...}
    • Kernel – Some EPP services● TemplateService ● UserPortalConfigService● SkinService ● NavigationService● RepositoryService ● ApplicationRegistryService● UploadService ● PicketLinkIDMCacheService● LocaleConfigService ● PicketLinkIDMService● ResourceBundleService ● ApplicationStatisticService● GadgetRegistryService ● AccountService● CatalogService ● GateInService ● ...
    • What are Portal Containers?● Servlet Context ● http://localhost:8080/<portalcontainer>/<site>● Rest context ● http://localhost:8080/<restcontainer>● Realm / Security Domain
    • What are Portal Containers really?● EAR packages ● Configuration (extension) ● Libraries (services) ● Web Content (files)● Create Portal Containers ● Resource overriding● Extend Portal Containers ● Different IoC container, isolated set of services
    • Demo EPP
    • Customizing SP● A big extension! ● A set o new Portlets & Services ● Reuses EPPs base services ● A different Portal Container: /ecmdemo ● Configure services, import portlets and create pages● All EPP customizations are here● Customization features ● Extension points
    • Customization features● Administration ● Nodetypes ● Inheritance, aggregation, mixins, properties ● Templates ● Groovy ● View & Edit ● Actions ● Groovy ● org.exoplatform.services.cms.scripts.CmsScript
    • Demo SP
    • Conclusion● You can extend EPP & SP through Portal Extensions● ... or create whole new Portal Containers● Access core features using built-in services● Besides, SP lets you: ● Create new types of contents ● Create or change how content is presented ● Script actions to handle content lifecycle events● Sources: github.com/rafaelliu
    • Stay connected through Red Hat Customer Portal Site Publisher User Guide Docs How to install EPP and SitePublisher using a single Postgres databaseTech Brief access.redhat.com