Fork me on GitHub

Plugin pluginwizard

Introduction

The primary goal of Lutece pluginwizard is to reduce developer configuration files overhead and the risk of infringing the development norms. Also new developers entering the project will inherit the best pratices directly in their project. A basic plugin can be conceived in some minutes and executed immediately.

What do you get?

All the files needed to implement CRUD functionalities on defined business classes. The files include :

  1. The Project Object Model( i.e.pom.xml)
  2. The Java or Kotlin classes
  3. The Spring framework context file
  4. The sql file needed by the plugin
  5. The Jsp files needed by Front and Back Office
  6. Html templates needed by the view layer compatible with the chosen lutece core version
  7. The properties files
  8. The plugin xml definition needed by the Lutece core
  9. Basic XSL for defined portlets

What are the Pros ans Cons?

Pros

  • The process is iterative, the back button allows to improve and stock the model.
  • The model is simple and easy to understand.

Cons

The generation based upon a model which is datacentered doesn't imply that all plugins are based upon business layers. There are a many mechanisms in Lutece which helps to comply to requirements. The mechanism could be the daemons which are responsible to execute asynchronous tasks or Role Based Access Control which offers the possibility to set up fine-grained control on declared resources.

Plugin conception

Simplified Requirements:

  • Manage a list of persons.
  • An administrator must be able to modify,delete and update.
Possible Solution:
  • Use the pluginwizard to attach an admin feature to the plugin.
  • Attach a business class to the admin feature.
  • The business class is comprised of some fields(id_person,person_name and person_address).
  • The id_person is the primary key and person_name is the description of the business object.