2.5 Global
User Group in profile #1847606 Security image (CAPTCHA) Login attempt class XoopsPersistableObjectHandler Merging Hacks & modules Comment pagination #1846867 Bloc Search engine xoops.js and "$" #1818137 call xoops_header #1818132 UTF8 #1810022 WAP #1828978 Trash Workflow Engine Graphs and Charts PDF Generation Pre loading Communs translations Standard Compliance php5/mysql 5 compatibility hooks for modules Debug enhanced DB Connectors Image manager Miscellaneous
2.5.1 User Group in profile #1847606 Priorité 3
http://www.xoops.org/modules/smartfaq/faq.php?faqid=642
View subject and associated documents
2.5.2 Security image (CAPTCHA) Priorité 2
Modification of the class xoopsForm to having captcha as a standard feature
important addition Captcha Functional Request By Mboyden
Audio-Visual Code Display - If we are going to add captcha to the system to deal with robots, assuming this is the best way to deal with this, we still need something for the people with sight impairment, which means an aural method of hearing the captcha code. I've built several sights for visually impaired community, and we can't use captcha because of that. I know this exists, because I've seen it out there in the community, but I don't know who's doing it yet. Nor do I know how long it would take the blackhat community to come up with a captcha-audio converter.
  • RESPONSE BY BlueStocking. - Maybe this will help...
  • Home Page
http://www.lanapsoft.com/products.html?gclid=CInBmay5sJACFTgrOAod8QIcNA
  • Demo
http://www.lanapsoft.com/demo/botdetect/default.aspx
  • Dev. Pricing
http://www.lanapsoft.com/shop.html
2.5.3 Login attempt Priorité 1
  • Ask a mimimum security Level for password (lenght, one uppercase chars, one number) and a visual indicator. See for example http://www.securitystats.com/tools/password.php
  • Notify about attempt login error
  • Set the amount of errors in your password
  • Who should be informed of attempts to access the account with errors in the password.
  • What attitude to take when many of passwords occur.
  • Prompt user via email.
  • Prompt user, your account is suspended temporarily
  • Adjusting for multiple levels of passwords errors
  • Aditional information By Catz #10 (http://www.xoops.org/modules/newbb/viewtopic.php?topic_id=61677&forum=7&post_id=278046#forumpost278046)
  • See you too (http://xoops-end- user.com/xoops03/index.php?title=RoadMap_UnOfficial#Disable.2FEnable_view_Users)
2.5.4 class XoopsPersistableObjectHandler Priorité 1
2.5.5 Merging Hacks & modules Priorité 1
2.5.5.1 Multi-Site Deployment Priorité 2
2.5.5.2 Module Xoops info Priorité 1
See the function in this module for keeping the modules up to date
2.5.5.3 Module Multilanguage Priorité 1
Why not including the work of the smartfactory in the core ?
Include these functionnality in the core attemp to hack core.
the smarttags are very usefull too.
2.5.5.4 Generic search Priorité 5
if we don't have a specific function to search in a module, give a plain text research on the table of the module.?
Problem with the perms and confidentiality (Hervé) perhaps an option in the xoops_version to tune this. Specify a table for research ?
2.5.5.5 Module Protector Priorité 1
including the protector module in the core !
It's necessary for security issues
It could be made without a separated install process
=> The security shall not be an option
2.5.5.6 build in WYSIWYG Priorité 1
The first draft of a WYSIWYG is always a draft since few release of XOOPS.
refactor the WYSIWYG/DHTML editor
Skalpa has working on this last year, Gabybob (http://www.byoos.fr) works with this on a xoops 2.3
2.5.5.7 plugin smarty Priorité 1
http://www.frxoops.org/modules/newbb/viewtopic.php?topic_id=23451&viewmode=flat&order=ASC&start=0
2.5.5.8 Module xoopscare Priorité 1
2.5.5.9 Select code in area #1787565 Priorité 4
phpBB shows an option to select all content of a code block which makes it
easier to copy/paste content.
Is it possible to have something similar for DHTML (extended) editor?
For an example of phpBB see here:
http://phpstats.net/forum/viewtopic.php?f=5&t=674
<a href="#" onclick="selectCode(this); return false;">
2.5.6 Comment pagination #1846867 Priorité 3
one of my article have more than 100 comments
so for user convinience long comment should be paged as example 10 comments
per page
2.5.7 Bloc Priorité 1
2.5.7.1 Positioning
possibility to place a block where we want for each page of each module
  • Create via Admin site new positions for blocks. (Finished) OK
  • Adjust your theme with new positions. Very Easy. (Example Finished for user)
  • You can define one position for one page. (This is equal content for page) Best soluction. (Example in development)
2.5.7.2 Cloning
Present in version XT e XM
2.5.8 Search engine Priorité 1
having an algorithm to classify the answers to a research
*- meta data on documents/files (ECM)
*- ajax integration
*- Improve comments management.
2.5.9 xoops.js and "$" #1818137 Priorité 2
With the use of some framework ajax, we have an incompatibility with
xoops.js and its “$”, I think that we should re-elect this in “xo$”
or "xojs" for example, to solve any problem in the future
2.5.10 call xoops_header #1818132 Priorité 1
To avoid any problem of superposition of the style sheets called in the
party “head” of the theme, it is imperative to put the xoops_header
before the appeal to the style sheets of the theme or before any
additionals Javascript.
2.5.11 UTF8 #1810022 Priorité 2
Xoops use utf8 by default in all his files.
2.5.12 WAP #1828978 Priorité 3
I think if xoops wants to stay in the now then a WAP Conversion module or
some core adaptation/integrations for mobile users is a necessity. It is
very long over-due ... I have used Xoops for all my sites for what seems
like eons.....everyone loves xoops that I deal with.... But, with mobile
content starting to take such a dominate role it just seems we need this or
switch to another cms that supports it. I love xoops and wanna stay.
So how about a WAP?
There was a WAP module quite some time ago.....but it didn't acknowledge
private forum settings nor could you actually post/do anything.
It's difficult to have WAP content due to the accentuated chars in some languages (as french) (Hervé)
2.5.13 Trash Priorité 3
before deleting everything it's better to store it in a trash area with a garbage collector.
2.5.14 Workflow Engine Priorité 4
2.5.15 Graphs and Charts Priorité 5
2.5.16 PDF Generation Priorité 2
Inclusion of tcpdf.
End of duplicate code within modules packages
2.5.17 Pre loading Priorité 2
pre_called or other
  • Add called in the archive mainfile.php
  • Add called in Header.php
  • Add called in kernel.php
  • Add called in modules.php
  • Add called in themes.php
Other places exist where we could affix these hooks that will be able to give a new form to include features through plugins to give a complement to the modules and thus to prevent hack in Core.
2.5.18 Communs translations Priorité 1
  • Some new translations in global.php like, for example :
    • Go to the module
    • Settings
    • Administration
    • Categories
    • Ok
    • Data was saved successfully
    • There was a problem while saving data
    • Action
    • Add an item
    • Do you really want to delete this item ?
    • Id
    • Modify
    • Add
    • Save
    • Online
    • Offline
    • etc
2.5.19 Standard Compliance Priorité 2
2.5.19.1 WEBDAV Compliant Priorité 2
Web-based Distributed Authoring and Versioning
2.5.19.2 XHTML Compliant Priorité 1
2.5.19.3 WAI Compliant Priorité 2
W3C Compliant
WAI Compliant
Web Accessibility Initiative
2.5.20 php5/mysql 5 compatibility Priorité 1
2.5.21 hooks for modules Priorité 1
RFC - Hooks for Module Developers
Initial Author: Akitson (Ashley Kitson)
Date: 06/06/2007
Analysing By: Nekro Complements By: GibaPhp
Objective
This functional requirement is for the Xoops CMS and is aimed at providing hooks into the Xoops core where module developers can extend the functionality of the core.
The primary aim is to avoid end users having to hack core files in order to make certain modules work.
Classic examples of this are:
Peak's Protector - requires mainfile.php to be hacked in order to provide site security.
XBS's Metatags - requires footer.php to be hacked to provide MetaTag Keyword optimisation.
Myreferrer (Solo) - Required interference in....
XT-Monitor (Claudia/GibaPhp) - Required adjust in /class/logger.php , no final da function addQuery(...)
RWbanner (TheRpLima) - Necessary adjust in fhooter.php
Statistic - required mainfile adjust or fhooter.php
And others modules not mencioned here.
There are others.
Limitations
Xoops is not event driven.
If it were then module developers could hook into events to provide this functionality. Xoops is (currently) mainly procedural and this puts a limitation on how this functionality can be added to it. Any technical design that is a result of this requirement should bear in mind what is likely to happen in the future and should be written to take advantage of the core objects within Xoops so that any future changes in Xoops core processing strategy can take this functionality with it. As a result of this limitation, some thought needs to be put into where hook points are placed in the xoops core files.
Design proposal
1/ A new class (inherited from XoopsObject) is defined: XoopsHook()
XoopsHook() has an underlying data table to store non transitory information.
All processing of hooks is done via XoopsHook().
2/ xoops_version.php for modules is extended to allow $modversion[] to carry new data for module installation i.e.
$modversion['hook'][$n]['file_to_run'] = "example.php";
$modversion['hook'][$n]['file_where_run'] = "mainfile.php";
$modversion['hook'][$n]['stage_where_run'] = 1;
A new subdirectory for modules is defined called 'hooks' where hook files are located, e.g. in this example for a module called 'mymodule', the hook is in XOOPS_ROOT_PATH/modules/mymodule/hooks/example.php.
Module installation processes this new $modversion information and stores it in the hooks data table, e.g.
Table xoops_hooks
id : 1
modid : 23
file_where_run: mainfile.php
stage_where_run: 1
file_to_run: example.com
run_order: 0
3/ Deinstallation of the module clears any hook data. Any module update must be handled to cater for changed hooks.
4/ A new administration screen is provided that allows the administrator to;
a - change the run order of multiple hooks vying for the same file and stage spot
b - deactivate/activate a hook (deinstallation of a hook occurs when the module is deinstalled)
5/ A singleton xoops_hook() object is instantiated on Xoops Core startup that reads in the data for the hook table and stores in memory.
6/ At strategic points in mainfile.php, footer.php and header.php (as a starting point - we need to canvas module developers here,) a call is made to xoops_hook() object i.e.
xoops_hook- >run($current_file_name,$stageId);
This call quickly sees if any code is 'hooked' in and if required, runs it.
7/ Documentation is provided for developers to allow them to create hooks
- and as importantly, rules and parameters are set within which such hooks
must run.
Caveat
There may be better ways of doing this.
2.5.22 Debug enhanced Priorité 2
Proposal by: Wizanda.
Did you know in 2.2.5 you can set multiple Debug settings on…. This means that as well as having standard PHP debug output….You can also combine them all together and leave the popups behind the browser, to then also see what errors exist in Smarty templates_c files also….
2.5.23 DB Connectors Priorité 3
  • Connecting with other databases:
    • MySql
    • Postgree (development)
    • Detail important about DB acess for modules
    • Others
      • SQL Server MS (analysing)
      • Oracle
      • Sybase
      • DbII
      • FireBird
      • Mysqli
2.5.24 Image manager Priorité 1
  • Auto Resize Uploaded Images
  • Subfolders in uploads folder (One for each category)
  • Options to manipulate and apply filters on the images
  • Option to create thumbnails
  • Option to use some effect to show the image like lightbox for example
2.5.25 Miscellaneous
  • speed display enhancements, scalability improvements
  • refactored redirect page,
    • that is old fashioned, slow, and generate bad feeling about the system
    • refactored image manager,
    • add the feature to manager other media
      • streaming,
      • videos,
      • flash files, etc.),
  • improved mimetypes manager
  • in a way transform the image manager to a file manager
  • Integrated dynamic menu system
  • Full SEO
  • Embedded url rewritting swith on/off
  • Wide section/category management
  • Notification on PM (marcan's hack)
  • Refactored PM module
  • refactored user's profile panel
   -> Who visited my perfil.
  • Automatic thumbnail generation support
  • Build in RSS Feeds
  • choose wich module should show RSS
  • choose the number of item for each module.