ActionApps - Development Roadmap
            apc-aa home |  docs home  
              
             The list below contains all the requests posted
   to  the  apc-aa-general@lists.sourceforge.net mailinglist, that have the
  word  'feature  request' in the subject.  
 The list below is prioritized by Honza Malik, the primary
     developer of the software.  Honza's organization, ECONNECT, is actively developing the software
     to meet the needs of its users.  
If there is a feature on this list that you need done right away, you could
either program it yourself (the software is open-source) or pay someone to
develop it.  Several projects realized that the ActionApps meet 90% of their
needs, and they can get a full-featured solution by paying for or writing
     the 10% of the code they need and contributing it back to the ActionApps
    development tree. 
  
 If you want a new feature, but cannot pay for it or program it yourself,
      mention your request on the apc-aa-general mailinglist, and say what
 you    want, why it is a good idea, and as much details as you can about
how it   could work.  The apps communinity values your good ideas about making
  the   software better, and your idea will be put on this list.    
            NOTE: This list is prioritized by the list of
needs    of  the  developers, please see above.
     - RSS / IDML, HTML, XML import   possibility   (Mitra works on this)
  This feature should allow the sliceadmins to set import of   articles from
   an RSS (HTML or XML) page into the slice.  
 Ideas:
    
      - Most  pages are generated    form database, so it have the same
structure (mainly  the RSS). The configuration    of this tool should allow
to define string,  where to start parsing articles    on source page. Also
there will be format  string (mask), in order we can   specify which part
is headline (so it will  go into headline........ field),   ...  
 
      - The regular expressions seems to  be good option for mask.
 
      - There should  be also time interval specifiing  how often you want
to update slice from the external source - probably using  cron.php script
 
 
    
  
            - Alerts 
    
      - User info fields
 
      -   Add additional user info fields to create a better profile of
   people using the system. Suggested fields are: organization, postal code,
   year of birth. As with current name and address fields, this information
   should be optional.       
 
      - Send on demand
 
      -  Make it possible for administrators to send an alerts feed / newsletter
   'on demand' -- ie. Whenever they feel it is the right time to send a collection.
    A 'send on post' option could also be included. This would send out individual
    AA articles as soon as they were approved.             
         Possible approach:
            Administrators should be able to choose 'send on demand' or 'send
 based    on user preferences' in the set up screen of each collection. This
 screen    should also include a 'send newsletter now' button. This would
send all  approved  articles meeting the collection criteria at the time that
the message  is sent.  
      - Random message
 
      -  Send out a 'random' message to a list of collection subscribers
    -- ie. a message not made up of ActionApps content. Ideally, should be
 possible   to send to multiple collections owned by the same organization
 with one action.  This should link to the modified user list functions (see
 below).
          Possible approach:
            Text box that a message can be pasted into.  
      - User list - collection
 
      -  Each collection admin page should have a list of subscribed users.
   This list should include name, organization and e-mail for each user.
The    total number of users subscribed to the collection should appear at
the  top  of the list. A button to download a delimited version of the list
should   appear at the bottom. A button labeled 'send e-mail to all users'
should  also appear on this page. This should open a blank form window that
is used  to send a 'random' message (see above). 
 
      - User list - all
 
      -  It should be possible to see a list of all users subscribed to
   collections owned by a particular administrator. This list should show
 each   user only once, even if they are subscribed to multiple collections
  owned   by the administrator in question. The total number of users should
  appear   at the top of the list. A button to download a delimited version
  of the list  should appear at the bottom. A button labeled 'send e-mail
to  all users'  should also appear on this page. This should open a blank
form  window that  is used to send a 'random' message. (see above)
 
      - Bulk subscription
 
      -  Ability to subscribe multiple users to an Alerts feed with a
single action. Bulk subscription should not require user confirmation / user
 confirmation should be optional.  
         Possible approach:
          Paste multiple addresses  into a text box in a form. One line per
 address.    Could even use delimited  format: firstname,lastname,e-mail address.  
      - Welcome message
 
      -   Ability to customize the  welcome message that is sent to a user
   when they are signed up to a collection.
           Possible approach
            Include in collection set up screen.  
      - Headers + footers 
 
      - Ability  to create custom header and footer informaiton for e-mail
   messages sent out  for each collection. 
              Possible approach 
              Include in collection set up screen. 
      - Bulk delete
 
      - Ability  to delete multiple users at one time. 
              Possible approach 
              Multi-select users  from a scroll box or use check boxes. 
      - Traffic statistics
 
      - View click throughs  from individual items included in an alerts
    feed.
              Possible approach 
              List of 'title' field from recently sent out alerts items.
Each   title  has a number beside it indicating the number of click throughs.
               
      - Sign up workflow
 
      - Users should be able to sign up in two steps -- filling in a simple
   form and clicking on a confirmation link. Logging in to set preferences
 should  be optional.       
 
      - Bounce back
 
      - Ability to bulk delete based on an automatically generated list
   of e-mail address boucebacks.
        Possible approach 
              Automatically generated bounce back report integrated with
bulk   delete  function. 
    
        
      - Create module for polls (partialy done - Econnect works on this)
 
  - Wizard for generation of search form/anonymous posting page/offline
filling page/... - you select the fields and the template of the page/form
is generated for you. Then you can copy it and manyally add styles, ...
  
 
      - Code improvements
    
        - new language environment - mgettext() - for easier translation
 & development
          
         - comment the code using PHPDoc and create developer documentation
 
         - update the code of admin pages to use $_GET and $_POST variables
 instead of $GLOBALS (due to recent changes in PHP default configuration,
where register_globals option is off as default
 
         - update the code of admin pages to not use slice_id as session
 variable. It will be end of problems with creation of new browser window
for admin pages.
 
         - display user_id on user admin pages (usefull for CSN for example)
 
    
             
      - MySQL auth module
 
  - Add scroller possibility to view.php (teach 'view' the same
 things as 'slice')
      
     - Find solution for Rich Text Edit on Linux (probably done - Composite 
 
  - Create module for link catalog (like Yahoo)  (partialy done - Econnect
works on this) 
 
  - Complete content senzitive help  
 
  - Group operations on articles (moving all to ..., unhighlight   all,
    change category of all items in slice ...)
Possibility to fill all fields    in slice with some value (after addition
  of new fields, ...). It will be   nice to have special multichange page
or  multichange bar (just like search   bar under the items in 'Item Manager'.
   On the page (or bar) would be two   sections: 'Which items'  an 'What to
  do with the items'.  
 The options for   'Which items'  would be:
    
      -    all items  in slice
 
      -    all approved  
 
      -  all  in holdin bin
 
      -    all in trash  
 
      -  selected  (by the checkbox)
 
      -    matching  condition (condition just like in Search bar) - it
could be omitted if we  would implement it as multichange bar in Item Manager
      
 
    
 The options  for 'What to do with the items' would be:
    
      -    fill with specified value
 
      -    fill with the value of the specified  field in the same slice/item
 
 
      -  fill with the specified value if the current  value is ...
      
 
    
  
  - Possibility to add user defined fields to slice (just like users can
 add fields to item)
      
            - Add possibility to change fields directly from Item Manager
 - set dates, set text field for priority  of items  ...   (this is simillar
 to allready implemented live_checkbox)
            
            - Better search in Item Manager (add possibility to search
in  dates/numbers/logical     values, ..). Also the search in fields with
multiple values should be improved - the AND operator do not return always
the value you expect.
            
            - Site module improvements
             
               - add {include file} posibility to the site module
 
               - create tool for quick access to specified view (probably text field where user write view number)
 
               - add possibility to highlight all spots for specified state
 - the spots will be highligted in sitetree on site admin page
 
               - better design of tree (visible better, colapsable branches, ...)  
 
               - possibity to backup the site's data
 
               - add {browser(IE)text:else} inline - shows the text only for selected browsers
             
 
            
        - Linker - component for automatical replacement keywords by  link
  in    fulltext (something like SmartTags - replace APC by   APC) 
 There will be vocabulary defined which will be attached to the slice(s).
In the vocabulary you specify, which words should be replaced and which link
will be used. A submitted item will be scaned for the vocabulary words and
the words will be enhanced by links.
  
  - Password protected items editing on public website
   new setting for slice - user can edit items if (knows password for item/knows
 password for item and the item was not edited in admin interface/always/never)
      
  - Logging of admin events 
     All possible events should be logged (event,    time, who, ...). The
events   are for example: new item filled, item moved   to holding bin, item
edited,   item fed, new slice added, slice deleted, changed    slice parameters/design,
  new share offer, deletion of content pooling, new   user, ... 
     Ideas: 
    
      -      Superadmins should be able to select which events to log
and which  not.
 
      -      E-mail (or any other) notification should be generated  from
 this log.   The cron.php will run a script which will go through the  log
each  5 min,   and send alerts to people, who is monitoring the event (new
 item in  holding   bin, new slice, sharing notification). Each user can
subscribe only to subset   of events. 
 
      -      maybe we can then  generate  some kind of statistics from
the log
 
    
  
  - Undo/Redo - go back to previous  'slice setting'/'version     of item'
 When we changing some setting of slice, we can save old values. Then we
can go back in history to Undo changes. This feature could be related with
previous - 'Logging of admin events'
    
  - Image manipulation (resize, get image   size,  make thumbnail, ...)
     
            
  - Image/document upload mangement (browse image upload directory  for
the slice, delete images/documents, get informations about image (in which
item used, ...)
            
  - Profile improvements
    
      - profile for groups - If a user is assigned to a group, the user
   inherits   the   profile of the group.
 
      - add new profile property: start slice, default  value  for field,
 hide parts of admin interface for the user (search-box, left navigation column,
 action-box)) 
 
    
                 
  - Allow Slice Admin  to add Users  
Create webinterface which will allow (at least some) slice administrators
add users in his group/slice. Now every user has to be entered by the 'super
    admin'    which will most likely be the APC provider that   runs the
AA.    If we  rent  the AA to many clients, these should be   able to add
users to  their  own  slices.  
  - Discussion enhancement
    
        -     Possibility  to  display titles and/or texts of   discussion
 comments (grouped  according  to articles).   Usefull for hot articles/discussions
 listing, latest   comments   listing, etc.    
 
        -     Possibility to send discussion comments to email   address
   (watch all  discussions in this slice,   discussion in this article, discussion
   in this thread,   only replyies to my comment).
 
        -    Discussion as view
 
    
        
    - Web interfacre  for mass import of data 
      Add web interface for  mass import of data (now  done   via /misc/file2slice/)
   into AA Admin interface.     The simpliest way could be just to have two
  text area   filed (one for  definition what to import where - see   import.php3)
   and another one for pasting imported data   into.  
    - Update of a value of a field by visitor  
       AA should support  update of value of selected field by   an anonymous
  user (visitor) (e.g. increase value by 1   or other calculation, change
value,  add value to list    of existing ones). Usefull for article ratings,
  opinion  pools, etc.          
  - Slice backup for users  
 
  - constants view - add alias for level, so the constants could be viewed indented (with hierarchy)
 
  - XML-RPC item exchange between various CMSs
 
  - More item info in admin interface
     possibility to the get all    information  about the item (time of first
  posting, "poster", last   edited,   where the  item is fed and from which
  slice is fed ...)   
  - "Skins" for Admin interface
         Design of Admin interface should be customizable (at   least some
 parts   of it) so the design of Admin   interface  is consistent with design
 of public  pages   where slice data are included/displayed.  
  - Database integrity check - checking for inconsistence in database
- lost items, ...
 
    - Feeding improvements
    
      - feedind filtering (the possibility to fed only highlighted items,
   ...     for example)
 
      - rewrite 'Filters' page for feeds - add possibility to change
 not only content of category field
 
      - feeding improvements (the change in child item will be offered
for acceptance/rejection to ALL "sharers"
 
      - treat "status code" as a regular field that feeds like any other
          - make "status code" field respect "feeding mode" setting
          - keep current behaviour (no status feeding) when "feeding mode"
            is set to "do not feed" 
    
   
                     - Configurable page scroller (number of pages ...)
 
 
             - Permission manager (possibility to set individual permissions
   for      user (in order someone is able just change design,but (s)he can't
      set  the feeding,... - BTW the permission sysytem is prepared for
  it  - only  the admin inteface missing)
 
  - More than three aliases per field (separate Alias page)     
 
             - Porting AA to PostgreSQL  
 
                          - Email notification enhancement   
      If a field included in email  notification is type of   HTML (e.g.
full   text of item/article formated as    html), it should be either converted
 into plain  text   or email message  should contain correct Mime headers,
   etc. before  it is send.  
  - Read access permissions
         AA need possibility to assign also "read" access    permissions to
 the  slice data. Not only to slice   itself, but to individual  items/articles.
      Now it is not safe to use AA for publishing   private/sensitive  information.
   Anyonye can display    such information by guesing view ID and  short
item    ID   (/apc-aa/view.php3?vid=xxx&x=yyy),  even with use of   different
   view which has the same aliases...  
  - New module for petitions  
 
  - Multilingual slices support
 
  - (I'm not sure about this) The idea of External News vs. not external
News   isn't   immediately  apparent.  Maybe Have one button for Add News
Item,  and another   item for Add External News.  Then itemedit would hide
the appropriate   fields.