alfresco orbeon egov solution

48
Implementing eGovernment Portal Powered by Alfresco and Orbeon Oksana Kurysheva Alexey Ermakov

Upload: kbdsoft

Post on 10-Oct-2015

18 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/20/2018 Alfresco Orbeon Egov Solution

    1/48

    Implementing eGovernment Portal

    Powered by Alfresco and OrbeonOksana Kurysheva Alexey Ermakov

  • 5/20/2018 Alfresco Orbeon Egov Solution

    2/48

    Agenda

    Part I Problem definition and brief overview of the approach

    Local eGovernment Portals Russian experience current stateand the most challenging problems

    Technical requirements what do we need, what Alfresco providedand where 3rdparty solution help was required

    Overall architecture of the system based on Alfresco and Orbeon

    Part II Implementation details

    Integrating Alfresco and Orbeon in less then a month detailedarchitecture, configs, key sources snippets

    Workflows implementation theory and practice what we neededin real life in addition to Alfresco out-of-the-box capabilities

  • 5/20/2018 Alfresco Orbeon Egov Solution

    3/48

    Part I:Problems faced and approach chosen

  • 5/20/2018 Alfresco Orbeon Egov Solution

    4/48

    The aim

    Make government services available for citizensand businesses online in electronic form

  • 5/20/2018 Alfresco Orbeon Egov Solution

    5/48

    The aim

    Make government services available for citizensand businesses online in electronic form

    Information about government services and ways of obtaining

  • 5/20/2018 Alfresco Orbeon Egov Solution

    6/48

    Typical local eGov portal: information web site

    Static information about eGov services is available

  • 5/20/2018 Alfresco Orbeon Egov Solution

    7/48

    The aim

    Make government services available for citizensand businesses online in electronic form

    Information about government services and ways of obtaining Ability to submit a re!uest to receive government services online

    "ull back#office integration$ including inter#agency cooperation

  • 5/20/2018 Alfresco Orbeon Egov Solution

    8/48

    Main problems to address

    Convert existing paper forms into electronic format

    Establish workflows to execute submitted forms

  • 5/20/2018 Alfresco Orbeon Egov Solution

    9/48

    Addressing electronic forms creation

    Creating forms sounds simple. But it is not:

    "orms can be really huge and complicated

    "orms change time to time %monthly update for some of them&

    'ist of forms to be available online is not fixed ( it is regulated byfederal and local laws$ updates happen few times a year

    Each agency has its own re!uirements

    Bottom line: there is no way to create forms definitions once

  • 5/20/2018 Alfresco Orbeon Egov Solution

    10/48

    Addressing electronic forms creation

    The only possible solution: government employees can createand edit forms definitions themselves

    It means creation and editing of do)ens of complicated forms by

    non#technical users %including auto#checking configuration$ mapping

    to templates for printing$ etc&

    We need visual form authoring tool

  • 5/20/2018 Alfresco Orbeon Egov Solution

    11/48

    Electronic forms management: finding the tool

    What Alfresco is:

    Document management

    Forms storage andmanagement

    Workflow automationplatform (discussed further)

    Open and flexible ECM thatcreates the basis for future

    inter-agency cooperationand systems integration

    What Alfresco is not:

    Form authoring tool thatallows non-technical users tocreate complicated forms

    visually

    Approach: integrate Alfresco and Orbeon

  • 5/20/2018 Alfresco Orbeon Egov Solution

    12/48

    What is Orbeon?

    Orbeon Forms open source forms solution

    Based on XForms and Ajax

    Implemented in Java

    Integration-friendly (discussed further)

    Orbeon consists of 2 modules:

    Forms Builder visual form authoring tool

    Forms Runner runtime for deployed forms

  • 5/20/2018 Alfresco Orbeon Egov Solution

    13/48

    Form definition creation in Orbeon Builder

    Visual form definition editor

  • 5/20/2018 Alfresco Orbeon Egov Solution

    14/48

    Form definition creation in Orbeon BuilderAdding auto-checking rules to control

  • 5/20/2018 Alfresco Orbeon Egov Solution

    15/48

    "orm definition creation in Orbeon *uilder

    Uploading PDF template for printing according with localregulation (prepared in usual OpenOffice.org/LibreOffice)

  • 5/20/2018 Alfresco Orbeon Egov Solution

    16/48

    Published formexample

  • 5/20/2018 Alfresco Orbeon Egov Solution

    17/48

    Solution: forms authoring and submission

  • 5/20/2018 Alfresco Orbeon Egov Solution

    18/48

    Addressing workflows: basic diagram

  • 5/20/2018 Alfresco Orbeon Egov Solution

    19/48

    Addressing workflows: basic diagram

    The issue:Step 8 is actually a monstrous non-formalized process

  • 5/20/2018 Alfresco Orbeon Egov Solution

    20/48

    Addressing workflows

    The issue: internal workflows are not fixed strictly

    Each basic 'atomic' internal workflow can be described in details butthroughout form execution can not:

    There are a lot of optional stages that can be included or not

    Single form execution can trigger lots of internal processes to requestadditional papers, approvals, notifications an so on

    Each sub-process can trigger even more child processes

    Yeh, Russia is a very bureaucratic country after all

  • 5/20/2018 Alfresco Orbeon Egov Solution

    21/48

    Addressing workflows

    Solution: create workflows relations

    Create basic 'atomic' workflows definitions

    Allow users to associate these simple workflows with each other tobuild complex processes on demand

  • 5/20/2018 Alfresco Orbeon Egov Solution

    22/48

    Solution: complete architecture

  • 5/20/2018 Alfresco Orbeon Egov Solution

    23/48

    Part II:Implementation details

  • 5/20/2018 Alfresco Orbeon Egov Solution

    24/48

    Orbeon Integration: Approach

  • 5/20/2018 Alfresco Orbeon Egov Solution

    25/48

    Orbeon Integration: Implementation

  • 5/20/2018 Alfresco Orbeon Egov Solution

    26/48

    Persistence API Implementation

    REST Web Scripts

    PUT: add new file to repository

    GET: return file from repository

    POST: perform a search in repository

    DELETE: remove file from repository

  • 5/20/2018 Alfresco Orbeon Egov Solution

    27/48

    PUT Request

    persistence.put.desc.xml

    Persistence Layer Web script implementing Orbeon FormsPersistence Layer put request

    /persistence/crud/{app_name}/{form_name}/data/{form_data_id}/{file_name} user required argument

  • 5/20/2018 Alfresco Orbeon Egov Solution

    28/48

    PUT Request

    persistence.put.js

    // create/get filevarfile folder!childByNamePathfile_name#$if%file &&folder!hasPermission"CreateChildren"##{ file folder!createNodefile_name'"formform!ype"#$ file!addspect"cm#ersionable"#$ file!addspect"cmauditable"#$ file!properties("cmcreated")new$ate#$ %%%

    file!properties("formid")form_data_id$}else

    file!properties("cmmodified")new$ate#$file!sa#e#$

    varcopy file!chec&out#$copy!properties!content!writere'uestbody#$file copy!chec&in"modified by orbeon forms"'true#$file!mimetype re'uestbody!mimetype$file!sa#e#$

  • 5/20/2018 Alfresco Orbeon Egov Solution

    29/48

    Persistence API problems

    Forms definitions are stored in eXist

    Content-type mismatch problem

  • 5/20/2018 Alfresco Orbeon Egov Solution

    30/48

    Problem: content type mismatch

    Solution: define two different scripts

    %%%

    /persistence/crud/{app_name}/{form_name}/data/{form_data_id}/{file_name}!pdf argument

    %%%

    %%%

    /persistence/crud/{app_name}/{form_name}/data/{form_data_id}/{file_name}!*ml argument

  • 5/20/2018 Alfresco Orbeon Egov Solution

    31/48

    Orbeon Integration: Persistence Layer Complete

  • 5/20/2018 Alfresco Orbeon Egov Solution

    32/48

    Submitted forms execution

    Content model to store form metadata

    Workflow to automate form execution

    Java class to send e-mails to client

  • 5/20/2018 Alfresco Orbeon Egov Solution

    33/48

    Content model

    -ontent class representing submitted form

    cm+content

    d+te*t

    true

    !!!

    !!!

    !!!

    !!!

    !!!

  • 5/20/2018 Alfresco Orbeon Egov Solution

    34/48

    Workflow

  • 5/20/2018 Alfresco Orbeon Egov Solution

    35/48

    Workflow model

    bpm+1orflo1,as

    read_pacage_item_actions

    form1f+formaspect

    form1f+assignee form1f+comment3spect

    formWorkflowModel.xml: type definition

  • 5/20/2018 Alfresco Orbeon Egov Solution

    36/48

    Workflow model

    d+te*t !!!

    !!!

    !!!

    formWorkflowModel.xml: form aspect definition

  • 5/20/2018 Alfresco Orbeon Egov Solution

    37/48

    Workflow model

  • 5/20/2018 Alfresco Orbeon Egov Solution

    38/48

    Workflow model

  • 5/20/2018 Alfresco Orbeon Egov Solution

    39/48

    Java mailer

    publicclassNotifier e*tendsBaseProcessor+*tension {

    !!!

    publicbooleansend,tring to',tring sub-ect',tring content#{!!!

    Properties props ne1Properties#$

    props%setProperty."mail%transport%protocol" "smtp"01

    !!!

    ,ession mail,ession ,ession!get$efault2nstanceprops'null#$

    !ransport transport mail,ession!get!ransport#$ 3ime3essage message ne13ime3essagemail,ession#$

    !!!

    message!set4ecipient3essage!4ecipient!ype!!5' ne12nternetddressto##$

    transport!connect#$

    transport!sendmessage#$ transport!close#$

    }

    }

  • 5/20/2018 Alfresco Orbeon Egov Solution

    40/48

    Orbeon Integration: Workflows Complete

  • 5/20/2018 Alfresco Orbeon Egov Solution

    41/48

    Additional Alfresco extensions developed

    Custom file uploader

    Related workflows extension

  • 5/20/2018 Alfresco Orbeon Egov Solution

    42/48

    Custom file uploader

    Attach files from local drive directly to workflow

    Intuitive 'Google-style' end-user experience

    Uses YUI Uploader: no third party libraries are needed

  • 5/20/2018 Alfresco Orbeon Egov Solution

    43/48

    Custom file uploader

  • 5/20/2018 Alfresco Orbeon Egov Solution

    44/48

    Related workflows

    Creates relations between workflows

    Start new workflow from task edit page

    View all related workflows of current task from task page

    Easy to see which process blocks current task

    Easy to get process dependencies for stats

    Bottom line:no mega workflow is required, allows to

    build execution paths from basic blocks on demand

  • 5/20/2018 Alfresco Orbeon Egov Solution

    45/48

    Related workflows

  • 5/20/2018 Alfresco Orbeon Egov Solution

    46/48

    Summary: Current project state

    Orbeon and Alfresco integration allows non-technical

    users to create and edit form definitions easily

    Forms are stored and processed in Alfresco, creating a

    basement for managing all documents in one system

    Forms execution became more intuitive and simple

    compared with legacy document management system

  • 5/20/2018 Alfresco Orbeon Egov Solution

    47/48

    Roadmap: Features planned

    Statistics module to report on workflows execution for

    management

    Organizational chart extension to pick employees from

    orgchart, assign tasks to organizational roles, manage

    tasks access control, get statistics on departments

    Replace eXist completely, move everything to Alfresco

  • 5/20/2018 Alfresco Orbeon Egov Solution

    48/48

    +ou can find this presentation and more details about this

    implementation on blog,ossgeeks,org

    -ontact us at

    okurysheva.vdel,comand aermakov.vdel,com

    And follow us on twitter/ .aviriel and .fufler

    mailto:[email protected]:[email protected]:[email protected]:[email protected]