Main qualities of this CMS
  1. Ataox evolved in parallel with the concept of Search Emgine Optimization, it therefore hold interesting options toward these goals and keep evolving in these directions.
  2. Optional data management with classical Html Wysiwyg or Xpetal nestable squared brackets [ ] for easier system structured : programming is simpler and standard (only a small local environment needs to be dealt with and because most visible results come from tags processing, it's easy to find the concerned tag and concerned code running behind "tg_" prefixing the tag name). Along the same lines the webmaster experience is also comfortable, because hierarchical needs are treated directly with symmetrical hierarchical tools and these tools are already familiar from many experiences (squared bracketed forum, Xml, etc.).
  3. The possibility to use xHtml within the pages, either directly, or with a wysiwyg (what you see is what you get for x/Html) that can be interm or extern (any wysiwyg you choose).
  4. Large screen mode that allows to see the results (standard user experience) and the code on the same screen.
  5. Possibility to generate a full website, multi-pages and multi-languages with a single Xpetal file to be parsed, this allows parser verification in extreme conditions and an original way to build a web-site with specific advantages like : full and flat 2D word processing access, easy storage of different web-site models etc.
  6. Automatic encryption of passwords, even on insecure connections http:// compared to httpS://. Starting from version 1.2.0 beta two security levels are available :
    1. The most secure is part of the default installation (see the genVar variable useBrwsrBackButton : (Database Editor >>> Key variables) )) and generates a new random hash usable only once (further we refer to it just with hash) used for a transfer across the lines of the crypted identification token. Problem : browser back buttons retrograde absolutely all variables across all tabs (it was not alwaays the case) and the retrograded hash is not valid anymore and unlog the user if a button is clicked when the context is retrograded, of course it's possible to go all the way forward to re-actualize the only valid hash, but it's not very practical, so the best thing to do in this situation is to avoid using the back button. And ... for those who prefer a little but less security and more flexibility the next paragraph explains what to do.
    2. For a logged in navigation with more browsing flexibility, the useBrwsrBackButton can be assigned to "ok" without quotes, clicking on those : (Database Editor >>> Key variables). In that case the first calculated hash is frozen and used for the whole connection, this means that :
      • You can use the back button Ataox won't protest
      • The encrypted hash stay the same for the whole login session, the inconvenient being that a automatic process copying the login tokens (a cookie and a url variable) can high-jack the session, but once you unlog they can't anymore because the used hash is not valid and never will be with one risk out of something like 10'40 possibilities of generating again the same hash. So it's still much more secure than no encrypting on the password that could be sniffed and used days later.
      • If the connection is done on an httpS connection the security difference between the two methods disappears and everything becomes more secure.
  7. Passwords as well as pages contents can support any UTF-8 characters encompassing Chinese characters, this makes Ataox passwords very secure because we can use the full range of the UTF-8 code and also because password scanners generally use dictionary within a single language. As a general example, if we have a password made of 3 UTF-8 characters based on 4 bytes, we have an idealistic (*a) number of possibility for a perfect randomness at the bit level of 256^12= 7.92e+28 which is an amazing number. (*a) it's a bit lower in reality because UTF-8 does not reach all possibilities on the bit level and 4 bytes characters are not in majority
  8. The system is naturally multi-languages and allows to go from one language to the other while staying on the same page. Creating a page encompassing all the site defined language is done posting a single form after having clicked on the button "InsertMultiLgPages" while being in full surf and edit mode. When a translation is not desired, everything is possible, from not displaying anything to an automatic redirection on any page you wish.
  9. A very efficient File Manager with numerous and optimal functions, such as : compress and uncompress files, directory bookmarks, different visual modes, a rights managers working on simple and nested files, a search engine etc.
  10. The standard version is based on Apache, Php and MySql, programed on Linux, this CMS is therefore fully adapted to most hosting services (LAMP : Linux Apache Mysql Php)
  11. Possibility to use a mode where the SQL is simulated with Php files! This allows to run a little site without bothering about database configuration and check at the same time the MySQL abstraction layer improving the easiness to use a third king of database.
  12. Complete backups (php code, database and files in one click, and the possibility to build smaller zip files.
  13. A scientific calculator with a prominent French TV game "Le Compte est Bon" fully integrated with all non trivial solutions from the simplest to the most complicated + a few mental calculation exercises.
  14. Images collections are available with a simple click. A standard collection is available by default (see credits), and can be completed with whatever images you want, just got to add them inside the concerned directory.
  15. An undo / redo is available in the main edition mode.
  16. A database editor is available for all tables, and especially useful for general configuration (new webmaster-users, new passwords, new sort of access rights etc.).
  17. Captchas based on small enigmas displayed with a simple and very readable text :-). One advantage from these enigmas come from the fact that anyone can write enigmas closely adapted to the purpose of their website.
  18. Open source with the GNU GPL 3 license. This guaranty a great freedom with what you can do with this CMS while having a global effect from the programming style to the final results, because each programmer knows that effect like the inside code can be examined thoroughly

Advantages for programmers :
  1. An integrated plugin generator that allow plugin development from an already working model.
  2. Didatic environment to get used progressively to Php, Javascript and the creation of plugins.
  3. Php / Javascript / Html / MySql codes have been written very carefully to facilitate the programming steps.
    • Php : ALL files written by the CMS team are classes instantiated into php objects, except the main index, a few constant files and 2 user-data stored-files that store some specific user data necessary to connect the main database. For code clarity, Php is used as a high level structured language and not as a script language! The most striking example comes from the xhtml that is defined a single time inside functions that can be easily called from anywhere, consequently a change into the basic Html is done at a single place and dispatched automatically by the Php parser to hundred other spots. Eventual time lags from the Xhtml encapsulation compared to a pure script is easily compensated by a cleaner global approach that increase in efficiency within a large environment. Specific advantage from the applied programming philosophy :
      • Mainly tags calls : the central kernel uses a Xpetal parser (note : like Xml, Xpetal tags have multiple imbrication possibilities). Double advantages : calls are easy to do from anywhere because the parsing is almost global (except the editor's kernel, because it was necessary to have it before programming the parser and it's interesting on long term debugging to keep it parser independent). Symmetrically most functions are based on Xpetal tags that are very easy to find inside the Php code (all lower cases with tg_ for prefix).
      • Supplementary needs are just dealt with plugins that keep things easy and local :
        • A programmer need only to know the micro-environment of his plugin to solve the complete task.
        • The CMS only uploads the needed code, so a much faster response.
    • Javascript : Only Object Javascript is used and like with any language, the supplementary structure pays for clarity and even speed when projects become large, because it would be almost impossible to program it efficiently with old methods.
    • (X)HTML : for the cms user interface, the Html is strictly generated with php functions, but on the editor side, users are free to use directly some Html or the Xpetal syntax that often calls Html functions behind the scene and is more practical for complex functions.
    • MySQL : direct SQL calls are completely avoided because of the sql-abstraction class aMySql.php, it's therefore possible to call some SQL without knowing any SQL. Note simulSql.php allows simple websites to short-circuit MySQL if they wish so! Why "simple" websites ? Because the idea behind this class was firstly to allow some very quick installation and it's always quicker without having to deal with a server database configuration! On the other-hand the goal was not to replace completely a database because (1) It would be impossible to have the same efficiency using just an interpreted language like Php. (2) Real time access are a problem with flat files where it could be solve with a greater number of files, the game and the result is not worth the effort! Consequently the non-sql mode should not be used for forums where real time access could obliterate concurrent messages.




Ataox a CMS adapted for Search Engine Optimization.