Version 24

    PhotoAlbum Released!

    Photoalbum Application [SVN sources] [Demo Guideline]


    Page on JBoss Forum can be found there.

    RichFaces Photo Site Demo Packaging


    Initial design and gathering.


    There are initial list of basic view which could be implemented in Real-World demo. Comments are welcome.





                Application should provide simple pictures storage with upload, management preview and sharing possibilities.

                This document describes set of view drafts that could be used within real world demo.

                Note that this document is just high level draft so some common components could be skipped in “Components used for use-cases” sections. (panels, toolbar, support, region, outputPanel and etc..)


    Similar Applications



    Functionality Summary

    Photo Album demo application provide the following features set:

    1. User Login and registration.
      1. login/logout
      2. User preferences management.
      3. users preferences view(viewing the properties of any registered users)
    2. Data Life time
      1. OPEN ISSUE. User and their dat could be cleared
        1. nightly -  this will allow to organize dayly news, search between existing and so on.(I leaved the functionality which could be usefull with this option - news, search within all the uploaded and so on. Could be removed if option 2 will be choosen)
        2. on session closure.
    3. Sharing
      1. All the uploads are visible for any users and available to be searched for.
    4. Roles management (Simple in first version - registered/unregistered)
      1. Browsing the application in guest mode.(All the functionality except any kind of changing and own albums available) 
      2. Browsing application as registered user. All the functionality below available.
      1. Uploading and management pictures
          1. Multiple pictures upload
          2. Preview and edit pictures preferences after upload
          3. Hierarchical album structure (albums can be nested)
          4. Categorizing the pictures using Drag and Drop within the albums
          5. Categorizing images and whole albums with metatags
          6. Ability to provide the descriptions to images in order to create "story" functionality in slideshow mode.
        1. Operations on the picture OPEN ISSUE could be done according to release timeframe possibilities.
          1. Rotation
          2. Leveling
            1. OPEN ISSUE and so on editing(frames etc..),..
        2. Owner Images view
          1. Albums view. List of albums with their properties.
          2. album view. Browsing pictures thumbnails within concrete album.
          3. Single picture view and management.
            1. Preview for concrete picture with its properties.
            2. Properties management.
            3. full sized images links.
          4. Slideshow within the album
        3. content updates
          1. "News" functionality. Browsing within latest added, random pictures by tags an so on.
        4. Search (Both by shared pictures and owner pictures)
          1. Search images by tags
          2. Search images by metadata and other properties(upload date, description, and so on).
          3. Search for users by names
          4. Search by albums
        5. Application help
          1. Set of views describing implementation decisions details. (Seam and RF usage for the cases implemented)
          2. Information on how to use application itself within the views


        Future Versioned

        Features which could be done after the community mechanisms will be miplemented

        1. albums sharing
        2. groups creation
        3. friends for users
        4. messaging between users
        5. rating on the fotos
        6. comments on the fotos
        7. management of the comments
        8. favourites functionality
        9. bookmarking (useless till the data lifetime is short)



        1. administration module
        2. Layout redefinition
        3. Story creration
        4. Tag cloud widget for browsing shared
        5. emailing from user viewes.


        Use-case diagram for RealWorld demo

        In first version demo will include followed use-cases


        use-cases diagram for real-world demo.png




















        Dependent of time, RealWorld demo will include additional use-cases:


        use-cases diagram for real-world demo - rich.png


        Domain model for RealWorld demo

        Initial version:


        domain model for initial realworld demo.png



        (Will be updated soon after markups design finished)

        Design Section


        1.1 Login View


                    It should be some kind of standard login/register view. Some info about RF and application itself should be present in this view.


        1.2 Views for logged user


        1.2.1 User properties view


                    Standard user-info properties view. Should allow the user to add or edit its detailed info.


        1.2.2 Pictures Upload View


                    Every logged user should be able to upload the pictures to server. Upload restrictions should be defined (size of pictures, types, may be resolution). After uploading, the user should be able to preview pictures, edit its properties and save them or just remove some of them.

                  Components used for use-case:

        • ·        rich:fileUpload
        • ·        rich:progressBar(built-in)
        • ·        rich:mediaOutput(preview)
        • ·        a4j:commandLink (store, change)
        • ·        rich:dataGrid (preview iteration)


        1.2.3 Albums management View


                    View for management albums should be available for the user in order to rearrange the albums, rename or delete existent ones or just create new albums. (TBD some other properties that could be changed from this view such as sharing and etc..)

                  Components used for use-case:

        • ·        rich:dataGrid for albums list representation
        • ·        a4j:commandButtons/Links
        • ·        contextMenu


        1.2.4 User Pictures View


                    View for existent pictures viewing. It should contain the navigation tree for pictures groups and main area which should be switchable from list subview to slideshow subview.

                    Components used for use-case:

        • ·        rich:tree for folders representation

          List subview


                    The user could choose some folder from navigation panel and should be able to view all the pictures within folder. This subview also should allow moving pictures between folders delete some of them or call properties view for any picture.

                    This subview could optionally contain a filter for pictures which should be shown

                  Components used for use-case:

        • ·        rich:dataGrid for pictures list representation
        • ·        rich:datascroller
        • ·        drag and drop components to move between folders
        • ·        rich:calendar, inplaces, commandButtons/links for filter
        • ·        context menu

          slideshow Subview


                    This subview should represent one picture in a full size in the subview. And also controls to switch between pictures (next/prev-like controls or maybe just line with clickable thumbnails). Also it should be possible to turn real-time slideshown on within this view.

                     Components used for use-case:

        • ·          context menu
        • ·        commandButtons/Links
        • ·          poll (realtime slideshow support)


        1.2.5 Pictures Properties Management View


                    This view could be called for any picture from “User Pictures View”. It should be opened as modal dialog and consist of picture properties in editable controls.

                     Components used for use-case:

        • ·        inplaces
        • ·        commandButtons/links
        • ·        rich:modalPanel


        1.3 Shared Albums


                    Application should provide all the users access to shared area. Albums marked as shared should be available to non logged users via the same “User Pictures View” but without any changes allowed.

                    Shared Albums view should be also allowed to be used by already logged users


        1.4 Live updates


                    While the user uses shared view it should be asynchronously updated after changed on server. So new albums should appears and some additional info (e.g. pictures counts in albums) info should be updated using push technique.

                   Components used for use-case:

        • ·        a4j:push