Commit Graph
100 Commits
Author SHA1 Message Date
jocelyn 6b3ff6f980 Fixed list item computation for ini file, especially with included ini file. 2015-11-02 21:07:26 +01:00
jocelyn 360855a558 Fixed recent_changes module to allow alias of recent_changes blocks.
Factorized code in CMS_RESPONSE by reusing add_block.
2015-11-02 18:54:30 +01:00
jocelyn 6aaec0be9f Fixed table item computation for ini file, especially with included ini file. 2015-11-02 18:10:27 +01:00
jocelyn cb6d13b5f7 Updated gcse library to use unique own uuid in ecf file. 2015-11-02 14:38:36 +01:00
jocelyn 951c977892 Use relative paths from google_search ecf files to other local cms library .ecf files. 2015-11-02 14:33:14 +01:00
jocelyn 2a4ebfa12e Updated google search libary ecf files to have better void-safe .ecf file. 2015-11-02 14:22:41 +01:00
jocelyn 955852747a Include google_search engine in example/demo installation script. 2015-11-02 11:18:45 +01:00
jocelyn 23fe22cad1 Google search module:
- cleanup unwanted file
- fixed bad indentation in html template.
2015-11-02 11:16:54 +01:00
jocelyn da4b36869a Include the launcher during installation (install.bat). 2015-11-02 10:50:27 +01:00
jocelyn 5624892ebc Updated code related to cache management in CMS core and modules. 2015-11-02 10:50:05 +01:00
jocelyn 5b0ab76434 Fixed more unicode issues, or being more flexible when loading from database. 2015-10-20 19:02:04 +02:00
jocelyn a84f86d7a2 Addressed various unicode related issues.
Note this is using recent changes from text_filter library.
2015-10-20 18:49:40 +02:00
jocelyn 3f4e70b98c Updated roc tools, and associated scripts.
Also include Eiffel Store ODBC persistence.
2015-10-20 11:29:16 +02:00
jocelyn 782e9397a3 Added missing sql_finalize which is used to cleanup as early as possible the last statement when it is not needed anymore. 2015-10-19 23:33:17 +02:00
jocelyn f51ddc9796 Extracted launcher code into cms/launcher/... libraries.
(mostly to help new project based on ROC CMS).
Renamed and simplified the roc cms server launcher, and the related cms execution.
Updated cms.ini and extract blocks related management into blocks.ini.
Added debug clauses for cms sqlite3 storage.
2015-10-19 22:50:48 +02:00
jocelyn a260bbc2c5 Removed obsolete usage of {TYPE}.attempt from CMS_MODULE_COLLECTION. 2015-10-19 20:50:47 +02:00
jocelyn eb5ae32e46 Added persistence support for Eiffel sqlite3 wrapper.
Updated existing persistency solution to be more generic to any db solution.
2015-10-19 11:24:22 +02:00
jocelyn 7fcacad5eb Use extended type support from EiffelStore to handle STRING_32, and other extended types. 2015-10-19 11:20:04 +02:00
jocelyn 7c99f2dc83 Added recent_changes.ecf 2015-10-18 20:47:33 +02:00
jocelyn 57430193e3 Fixed compilation of CMS_FILE_BLOCK. 2015-10-18 19:24:43 +02:00
jocelyn 62bf58ce6d Added support for block options for the feed aggregator blocks.
Updated weight for primary_tabs block.
2015-10-17 00:17:59 +02:00
jocelyn 23c395513b Fixed handling of block and optional block.
- All blocks behavior can be specified and overwritten via the configuaration.
  - And optional block are not displayed by default.
2015-10-16 23:46:18 +02:00
jocelyn d2d86ecdf2 Added notion of block options, declared in cms.ini as
[blocks]
    {block_id}.options[name]=value
    {block_id}.options[size]=123
2015-10-16 23:11:44 +02:00
jocelyn e90f82387f Added notion of alias block, to provide a way to include a block content in mutiple regions. 2015-10-16 23:02:47 +02:00
jocelyn 05472abdd7 Improved block condition "path:..." by allowing wildchar.
Added weight data to CMS_BLOCK to be able to sort the block lists,
  and thus order the display of blocks.
Set negative weight for various core block, so that they appear first as expected.
The weight can be set and overwritten in cms.ini , by pref  blocks.{block_id}.weight=integer_weight.
2015-10-16 17:22:22 +02:00
jocelyn 788cf3738d Fixed compilation of CMS_BLOCK_LOCATION_CONDITION (not used for now). 2015-10-14 14:20:55 +02:00
jocelyn f6185612b2 Fixed compilation issue. 2015-10-12 19:42:09 +02:00
jocelyn d37f45d958 Include block caches clearing during "clear_cache" hook invocation. 2015-10-12 19:39:41 +02:00
jocelyn 872f2a177d For now, only clear feed aggregation cache if clear all cache is requested. 2015-10-12 19:22:37 +02:00
jocelyn 3ed2f410d9 Added feeds.json example in feed_aggregator module folder. 2015-10-12 19:15:09 +02:00
jocelyn 1b451ef142 Moved the feeds.json example in associated module files. 2015-10-12 19:12:42 +02:00
jocelyn 50146985de Added CMS_HOOK_CACHE, and admin cache.
Prepared evolution of feed module, by allowing json object to list feeds locations.
   The associated key will be used to identify the location, and have category filter by location.
2015-10-12 19:03:12 +02:00
jocelyn 8cdf9ba973 Updated demo feed info. 2015-10-12 19:00:46 +02:00
jocelyn 8044f7d52b Implemented feed aggregation filtering based on categories. 2015-10-12 15:53:50 +02:00
jocelyn ed24eb7c94 Updated theme example, to have only 2 feeds. 2015-10-09 19:47:49 +02:00
jocelyn 43d6b4a197 Committed module files installed for demo example. 2015-10-09 19:45:21 +02:00
jocelyn dffd06e331 Implemented a basic block caching system.
- for block {block_id}, to have a cache with 3600 seconds of expiration,
    declare in the cms.ini
     [blocks]
     {block_id}.expiration=3600

Added support for size in feed aggregation with new field "size"
2015-10-09 19:38:57 +02:00
jocelyn 463105f29f Added feed aggregation module.
Redesigned the CMS_BLOCK system,
   - added condition attribute. It can be set via configuration file
     with
     [blocks]
      {blockid}.region={region_name}
      {blockid}.conditions[]=is_front
      {blockid}.conditions[]=path:location-path/foo/bar
   - For backward compatibility, the CMS will check only conditions for block name prefixed by "?".
Improved the configuration library to support list and table properties.
Updated theme for now, to include the feed examples.
Added "cache" classes, to ease caching of html output for instance. (TODO: improve by providing a cache manager).
2015-10-08 13:56:31 +02:00
jocelyn abebd00a4f Added feed aggregation module.
Improved the CMS Block system to support condition.
2015-10-05 16:04:24 +02:00
jocelyn ec53a2682b Updated notification mailer, to always store output messages.
Fixed CMS_RESPONSE, and specific error response, to return expected status code.
2015-09-28 10:47:57 +02:00
jocelyn f9ecd4956f Keep the until date in the form data, so that new filter will remember the until date. 2015-09-09 23:12:52 +02:00
jocelyn 18e159ad3c Simplified the add child mechanism, by using a query parameter ?parent=nid
(instead of specific node/{nid}/add_child/page url)
Fixed implementation of `CMS_NODE_API.is_node_a_parent_of (..)',
  and improved parent validity checking against cycle.
2015-09-09 23:04:08 +02:00
jocelyn 438259033a Renamed link "Trash" to "Move to trash". 2015-09-09 22:10:13 +02:00
jocelyn 62e74ea6cd Refactor notion of trash and delete.
- Trash a node now does a soft delete (move to trash container).
 - Delete a node now remove it from the storage (no undo).

Signed-off-by: jvelilla <javier.hector@gmail.com>
2015-09-09 22:05:23 +02:00
jocelyn 32a409b7e9 Refactored add child feature, to have all the page specific code in CMS_PAGE_NODE_TYPE_WEBFORM_MANAGER (and not in the general node code).
Note that ideally PAGE could be a separated page node module (as it is for blog).
Added listing of children for each "page".
2015-09-09 21:58:16 +02:00
jocelyn 5f4eb2cf10 Correct implementation of node extension save operation. 2015-09-08 20:44:00 +02:00
jocelyn 88bc52fffb Updated roc script, install module for the examples, and updated demo site folder. 2015-09-08 16:03:36 +02:00
jocelyn 2431d7af6c Improved the recent changes modules:
- extracted from populate_recent_changes, the recent_changes_sources that enables to filter early.
Added author_name to the CMS_RECENT_CHANGE_ITEM to support author which is not related to any CMS_USER.
Implemented the simple filtering on source and add parameters size and date.
2015-09-03 14:47:17 +02:00
jocelyn ad4f020d0e The NULL storage may look into the CMS configuration file.
This allows to run the CMS without any database.
2015-08-21 19:16:31 +02:00
jocelyn 7a13b47131 Fixed cms library compilation.
CMS_FILE_BLOCK was missing `is_empty' implementation.
2015-08-19 12:34:35 +02:00
jocelyn 923089baa1 Better js code to apply CKEditor.replace, mainly to select only textarea.name=$name.
code cleaning.
2015-08-18 19:24:18 +02:00
jocelyn cfec9dc7f8 Do not include empty blocks, this way, we avoid empty sidebars if not needed. 2015-08-18 10:58:31 +02:00
jocelyn b5e7d5d201 Require "view recent changes" permission to see the recent changes. 2015-08-17 17:40:55 +02:00
jocelyn e1bdcb965c Added permission arguments to "trash" and "Create" links.
Added blocks configuration settings via the cms.ini and "blocks" section
   ex: [blocks]
       navigation.region=sidebar_first
   This enables the site to change default block location, and even hides it easily, if the theme does not include associated region name.
2015-08-13 00:44:16 +02:00
jocelyn 0061afcbe8 use "deleted" instead of "trashed" . 2015-08-12 19:03:40 +02:00
jocelyn 6a9bc8aa42 Updated admin and recent_changes module permissions declaration. 2015-08-12 19:00:17 +02:00
jocelyn 1d7d79d69e Cleaned up hooks related code, and always go via CMS_RESPONSE.hooks 2015-08-12 17:50:23 +02:00
jocelyn 46014da3d8 Added recent_changes module.
Revisited hooks management, and added new CMS_HOOK_MANAGER.
Added admin, and other link into navigation menu that goes into first sidebar.
Fixed theme info, and template for sidebar ids.
Better css class name for cms node content.
2015-08-12 17:30:07 +02:00
jocelyn 7cb4c0e9f4 Quick fix for ROC CMS links in authentication email templates. 2015-08-10 12:55:10 +02:00
jocelyn aff6b07c80 Fixing edit node form field title and id. 2015-08-10 12:49:40 +02:00
jocelyn 479194d6c5 Updated node module sql script file to support revisions. 2015-08-10 11:21:04 +02:00
jocelyn 3f123dd921 Cosmetic/comments. 2015-08-10 10:04:08 +02:00
jocelyn cd0c2acd87 Added revisions support to node management.
Updated node extension implementation.
Updated known permissions for node module.
Improved code for node storage extension , in preparation to code factorization.
Ensured that author is updated when saved.
2015-08-07 19:17:25 +02:00
jocelyn 44ada4b6b1 Fixed demo module. 2015-08-07 19:13:01 +02:00
jocelyn 8efbddc8cb Removed unused local variables. 2015-08-06 11:52:47 +02:00
jocelyn f26b81977c Implemented CMS_LINK.is_forbidden in all descendants. 2015-08-06 11:52:35 +02:00
jocelyn bbf7456fa2 Improve permissions list display, to be sorted.
Better permission names for "admin users" and "admin roles".
2015-08-04 16:42:06 +02:00
jocelyn 62ef07c86b Removed unwanted files. 2015-08-04 15:22:11 +02:00
jocelyn a422dea15d Improved message after successful role creation.
Removed useless code.
2015-08-04 14:56:55 +02:00
jocelyn 6fb7bf9a1d Updated location of http_authorization library (now under library\web\authentication\..) 2015-08-04 13:27:09 +02:00
jocelyn bba1d57ce3 Fixed and improved various issue in admin module (especially the Role editing which was not working as expected.)
Added CMS_MODULE.permissions to allow module to declare the potential permissions.
Added support for CMS_LINK.is_forbidden, in relation with CMS_LOCAL_LINK.permission_arguments.
Split link "username (Logout)" into 2 links "username" and "logout".
Fixed/Changed the way auth modules alter the logout link based on "(Logout)" title, by safer solution based on `location' of the link.

Fixed usage of WSF_REQUEST.path_info by using percent_encoded_path_info which is not non unicode path info to be used most of the time.
Merged CMS_REPONSE.variables and CMS_REPONSE.values .
When possible, prefer usage of CMS_RESPONSE.user instead of CMS_REQUEST_UTIL.current_user (WSF_REQUEST) whenever it is possible.
When possible, prefer usage of CMS_RESPONSE.location, rather than usage of WSF_REQUEST.(percent_encoded_)path_info .
Code cleaning.
2015-08-04 12:48:14 +02:00
jocelyn c271f839e2 Merge remote-tracking branch 'jvelilla/roc_admin' into ewf_v1 2015-08-03 14:05:03 +02:00
jocelyn 5d81f1d195 Improve previous commit to show allowed tabs only if user has access to it. 2015-08-03 12:56:05 +02:00
jocelyn 500f8f78a4 Fixed implementation of CMS_USER_STORAGE_SQL_I.update_user_roles 2015-07-16 20:22:20 +02:00
jocelyn 47573a1950 Added permissions "$action any node" , "$action own node" for now. 2015-07-16 20:03:07 +02:00
jocelyn 43b8c52d34 Merge remote-tracking branch 'ewf/ewf_v1' into ewf_v1 2015-07-16 17:18:58 +02:00
jocelyn d8ac46f8b0 Added CMS_NODE.is_published and is_trashed: BOOLEAN
For now, whenever we save a node, it is marked as published.
Display a node only if published.
Updated /trash page.
Updated /nodes/ page to take into account the node status.
2015-07-16 17:16:35 +02:00
jocelyn 769c14caf8 Display the OAuth association only in "account" page.
Improved the template to show only when pertinent.
2015-07-16 15:49:14 +02:00
jocelyn 3c0122d98f Fixed validation of node path alias field, for node creation.
Now,when installation a module, store the version (instead of just "yes")
2015-07-16 15:23:56 +02:00
jocelyn f55a52e4d0 Added CMS_USER_API.save_user_role (a_user_role) 2015-07-14 19:52:39 +02:00
jocelyn 2040a746dd Cleaned auth module by removing useless code.
Added CMS_USER_API.user_role_by_name (a_name: READABLE_STRING_GENERAL): detachable CMS_USER_ROLE
Added enabled/disabled status in admin/install.
2015-07-14 18:59:09 +02:00
jocelyn 5688cffcf1 Fixed wrong error report for path alias validation. 2015-07-14 12:47:59 +02:00
jocelyn 19e8607e54 Removed unused local variable
Use new location for http_authorization library.
Added error_handler in CMS_MODULE_API (and thus all modules).
Better error handling in CMS_USER_API.
2015-07-14 12:20:43 +02:00
jocelyn 2d77bf6de8 Fixed change_password block template. 2015-07-13 18:48:06 +02:00
jocelyn 2d985ba05e Merge remote-tracking branch 'jvelilla/roc_account' into ewf_v1 2015-07-13 18:43:07 +02:00
jocelyn 1b0cc9dc07 Moved initialization from CMS_DEFAULT_SETUP to CMS_SETUP.initialize.
Rely on setup  "admin.installation_access" to determine who has access to /admin/install .
2015-07-13 18:42:16 +02:00
jocelyn 3dec559d58 Process modules installation only for /admin/install request.
This makes installation process safer, and controlled.
2015-07-11 15:39:59 +02:00
jocelyn 3ea9e36e7c Updated comments. 2015-07-10 19:08:29 +02:00
jocelyn 5da01fd576 Fixed issue with CMS_USER_STORAGE_SQL_I.update_user which was passing useless parameters. 2015-07-10 18:57:56 +02:00
jocelyn 7f4a7b3ab9 Implemented Module enable/disable setting from configuration.
Implemented dependencies checking to set CMS_MODULE.is_enabled.
Implemented the persistence of CMS_USER.roles
2015-07-10 18:46:16 +02:00
jocelyn 779064a505 In SQL statement use the same case for table names, i.e all lowercase.
Otherwise on Linux+MySQL queries may fail.
2015-07-10 12:58:05 +02:00
jocelyn 5477bab83c Added error handler argument in CMS_STORAGE_BUILDER.storage (...) function.
Removed testing purpose code.
Update debug module.
2015-07-10 12:20:28 +02:00
jocelyn d24f124e42 Fixed typo in renamed features. 2015-07-09 21:31:09 +02:00
jocelyn bace9657b4 Search module configuration first in site/config/modules/$module_name/ folder to see if default is overriden,
and then in site/modules/$module_name/config/ folder.
2015-07-09 21:29:35 +02:00
jocelyn 6319d46f26 Added back CMS_FORMATS.filtered_html 2015-07-09 13:47:22 +02:00
jocelyn 31095b1b66 Merged formats, from CMS_NODE_API and CMS_API, into CMS_API.formats: CMS_FORMATS. 2015-07-09 13:41:42 +02:00
jocelyn 16cae0047d Revisited the format, filter and content type integration.
Now, all formats used by CMS are instances of CMS_FORMAT, mainly to prepare the admin section in order to define format by config/database.
CMS_NODE_API provides all queries to access the content types, and formats, this way a module can easily alter the formats by adding a new filter.

TODO: see how to integrate permission checking, to control who can use a specific format (such as full HTML).
2015-07-09 12:23:20 +02:00
jocelyn 85cff0b139 Better implementation of CMS_API.source_of_path_alias (a_alias).
That now returns the path, only if the alias exists, otherwise returns Void.
Improved path alias validation.
2015-07-07 17:40:12 +02:00
jocelyn cc94c59eed Added CMS_USER.utf_8_name: STRING_8 for convenience.
Added a permission check for registering (TODO: by default allow visitor to register).
Cosmetic.
2015-07-07 17:25:56 +02:00
jocelyn 4c8af3ef66 Fixed implementation of path alias settings.
Now report an error if path is already aliased to another location.
2015-07-07 17:20:25 +02:00