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.