Liferay DXP 7.0開発者用チュートリアル
Introduction to Liferay Development
- Introduction to Liferay Development
- Fundamentals
- Liferay as a Development Platform
- Introduction to Front-End Development
- JavaScript in Liferay DXP
- Metal.js
From Liferay Portal 6 to 7
- Introduction to From Liferay Portal 6 to 7
- What Hasn't Changed and What Has
- Benefits of Liferay DXP 7.0 for Liferay Portal 6 Developers
- OSGi and Modularity for Liferay Portal 6 Developers
- Improved Developer Tooling: Liferay Workspace, Maven Plugins and More
- Planning Plugin Upgrades and Optimizations
Developing a Web Application
- Introduction to Developing a Web Application
- Development Setup Overview
- Creating a Working Prototype
- Writing Your First Liferay DXP Application
- Creating an Add Entry Button
- Generating Portlet URLs
Writing an Android App for Liferay DXP
- Introduction to Writing an Android App for Liferay DXP
- Beginning Android Development for Your Liferay DXP Instance
- Setting up the Guestbook Portlet
- Building the Guestbook Mobile SDK
- Creating the Android Project
- Installing the Guestbook Mobile SDK and Liferay Screens for Android
Writing an iOS App with Liferay Screens
- Introduction to Writing an iOS App with Liferay Screens
- Beginning iOS Development for Your Portal
- Setting up the Guestbook Portlet
- Building the Guestbook Mobile SDK
- Creating the iOS Project
- Installing Liferay Screens and the Guestbook Mobile SDK
Tooling
- Introduction to Tooling
- Liferay Developer Studio
- Installing Liferay Developer Studio
- Creating a Liferay Workspace with Liferay Developer Studio
- Setting Proxy Requirements for Liferay Developer Studio
- Updating Liferay Developer Studio
Portlets
- Introduction to Portlets
- Liferay MVC Portlet
- Creating an MVC Portlet
- MVC Action Command
- MVC Render Command
- MVC Resource Command
Customizing
- Introduction to Customizing
- Customizing JSPs
- Customizing JSPs with Dynamic Includes
- JSP Overrides Using Portlet Filters
- JSP Overrides Using OSGi Fragments
- JSP Overrides Using Custom JSP Bag
Mobile
- Introduction to Mobile
- Android Apps with Liferay Screens
- Preparing Android Projects for Liferay Screens
- Using Screenlets in Android Apps
- Using Views in Android Screenlets
- Using Offline Mode in Android
Service Builder
- Introduction to Service Builder
- What is Service Builder?
- Service Builder Persistence
- Defining an Object-Relational Map with Service Builder
- Running Service Builder and Understanding the Generated Code
- Iterative Development
Web Services
- Introduction to Web Services
- Service Builder Web Services
- Creating Remote Services
- Invoking Remote Services
- Service Security Layers
- Registering JSON Web Services
Export/Import and Staging
- Introduction to Export/Import and Staging
- Decision to Implement Staging
- Understanding Staged Models
- Generating Staged Models Using Service Builder
- Creating Staged Models Manually
- Understanding Data Handlers
Application Security
- Introduction to Application Security
- Adding Permissions to Resources
- Authentication Pipelines
- Auto Login
- Password-Based Authentication Pipelines
- Writing a Custom Login Portlet
WYSIWYG Editors
- Introduction to WYSIWYG Editors
- Adding a WYSIWYG Editor to a Portlet
- Modifying an Editor's Configuration
- Adding New Behavior to an Editor
- AlloyEditor
- Creating and Contributing new Buttons to AlloyEditor
Themes and Layout Templates
- Introduction to Themes and Layout Templates
- Themes
- Liferay Theme Generator
- Themelets
- Importing Resources with a Theme
- Using Developer Mode with Themes
Testing
- Introduction to Testing
- Unit Testing with JUnit
- Arquillian Extension for Liferay Example
- Arquillian Example Sample Portlet
- Arquillian Integration Test Example
- Arquillian Functional Test Example
OSGi Basics for Liferay Development
- Introduction to OSGi Basics for Liferay Development
- Liferay Portal Classloader Hierarchy
- Bundle Classloading Flow
- Resolving Third Party Library Package Dependencies
- Overriding Reluctant Service References
- Using the WAB Generator
Troubleshooting FAQ
- Introduction to Troubleshooting FAQ
- Resolving Bundle Requirements
- Resolving Bundle-SymbolicName Syntax Issues
- Resolving ClassNotFoundException and NoClassDefFoundError in OSGi Bundles
- Identifying Liferay Artifact Versions for Dependencies
- Connecting to JNDI Data Sources