/[eiffelstudio]/trunk/Src/unstable
ViewVC logotype

Log of /trunk/Src/unstable

View Directory Listing Directory Listing


Sticky Revision:

Revision 103872 - Directory Listing
Modified Thu Jan 23 10:19:30 2020 UTC (2 days, 23 hours ago) by jfiat
Fixed typo on "yesterday".

Revision 103870 - Directory Listing
Modified Wed Jan 22 15:36:38 2020 UTC (3 days, 18 hours ago) by jfiat
Improved registration form for ESA, and at the same time added useful feature to CMS_API.

Revision 103862 - Directory Listing
Modified Mon Jan 20 11:37:42 2020 UTC (5 days, 22 hours ago) by jfiat
Added missing link to FEED.

Revision 103829 - Directory Listing
Modified Mon Jan 6 10:23:13 2020 UTC (2 weeks, 5 days ago) by jfiat
Updated year to 2020.

Revision 103756 - Directory Listing
Modified Fri Dec 13 20:24:00 2019 UTC (6 weeks, 1 day ago) by jfiat
Do not use the -safe.ecf directly anymore.

Revision 103752 - Directory Listing
Modified Fri Dec 13 14:31:11 2019 UTC (6 weeks, 1 day ago) by jfiat
Now include cache date in block output.

Revision 103720 - Directory Listing
Modified Mon Dec 9 12:52:16 2019 UTC (6 weeks, 5 days ago) by jfiat
Better handling of "destination" request variable, and show "register" only if allowed.

Revision 103706 - Directory Listing
Modified Fri Dec 6 09:55:56 2019 UTC (7 weeks, 1 day ago) by jfiat
Added the full html format.
Added the possibility to include using CMS_RESPONSE a javascript as "defer".

Revision 103683 - Directory Listing
Modified Tue Nov 19 10:51:22 2019 UTC (2 months, 1 week ago) by jfiat
Fixed conditions for custom blocks.

Revision 103651 - Directory Listing
Modified Mon Nov 4 19:57:10 2019 UTC (2 months, 3 weeks ago) by jfiat
Use a specific per-request name for the cms user execution variable.
To avoid potential conflict name, and potential security issue.

Revision 103622 - Directory Listing
Modified Mon Oct 28 15:11:28 2019 UTC (2 months, 4 weeks ago) by jfiat
Added administration user link.

Revision 103620 - Directory Listing
Modified Mon Oct 28 13:15:45 2019 UTC (2 months, 4 weeks ago) by jfiat
Added support for organization.
Restructured the es_cloud cluster.

Revision 103604 - Directory Listing
Modified Thu Oct 17 17:29:07 2019 UTC (3 months, 1 week ago) by jfiat
Updated cloud account solution.
- New support for concurrent sessions
- Various bug fixes
- Enable cloud account by default

Revision 103586 - Directory Listing
Modified Fri Oct 11 13:22:26 2019 UTC (3 months, 2 weeks ago) by javierv
Updated: clean code: remove unneeded code in SSL_RSA and SSL_CRYPTO_EXTERNALS classes.

Revision 103585 - Directory Listing
Modified Fri Oct 11 12:52:15 2019 UTC (3 months, 2 weeks ago) by javierv
Added SSL_RSA encrypt decrypt test cases.

Revision 103399 - Directory Listing
Modified Wed Aug 7 09:56:48 2019 UTC (5 months, 2 weeks ago) by jfiat
Added comment and new features to avoid confusion for string input between "bytes as string" and "hexadecimal string".
Updated test cases

Revision 103383 - Directory Listing
Modified Fri Aug 2 11:14:20 2019 UTC (5 months, 3 weeks ago) by javierv
Added sha1 test case to show a different result computing sha1 + salt depending on the update type, update_from_bytes or update_from_string, the last one seems not work as expected.

Revision 103313 - Directory Listing
Modified Mon Jun 24 12:43:18 2019 UTC (7 months ago) by jfiat
Update wikitext filter help message.

Revision 103067 - Directory Listing
Modified Wed Apr 10 09:18:08 2019 UTC (9 months, 2 weeks ago) by jfiat
Updated the echo_application with debug clauses, and better termination for the socket client.

Revision 103066 - Directory Listing
Modified Wed Apr 10 09:17:16 2019 UTC (9 months, 2 weeks ago) by jfiat
Updated the examples application to be able to run only one example, or all.
Updated the echo_application, with debug clauses, and better termination for the socket client.

Revision 103065 - Directory Listing
Modified Wed Apr 10 09:16:57 2019 UTC (9 months, 2 weeks ago) by jfiat
Added an example to demonstrate CP_SED_CONTAINER which adds a simple solution to copy an object from a scoop processor to another using SED facilities.


Revision 102824 - Directory Listing
Modified Mon Feb 11 11:33:50 2019 UTC (11 months, 2 weeks ago) by javierv
Fixed Zlib examples to use the recent change on zlib library.

Revision 102819 - Directory Listing
Modified Fri Feb 8 13:20:06 2019 UTC (11 months, 2 weeks ago) by javierv
Updated ZLIB.inflate feature, to make it possible to pass the following flush values Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, Z_BLOCK, or Z_TREES.
Updated ZLIB_UNCOMPRESS.inflate and  ZLIB_UNCOMPRESS.inflate_with_options to use ZLIB_CONSTANTS.Z_NO_FLUSH instead of False.

Revision 102787 - Directory Listing
Modified Tue Feb 5 10:55:59 2019 UTC (11 months, 2 weeks ago) by jfiat
updated copyright to 2019

Revision 102782 - Directory Listing
Modified Mon Feb 4 21:11:08 2019 UTC (11 months, 2 weeks ago) by jfiat
Always call setup_block after get_block_view.

Revision 102774 - Directory Listing
Modified Mon Feb 4 12:29:38 2019 UTC (11 months, 3 weeks ago) by jfiat
Fixed support for unicode filenames (and cosmetic changes)

Revision 102740 - Directory Listing
Modified Mon Jan 28 23:56:34 2019 UTC (11 months, 3 weeks ago) by javierv
Fixed issue with ps_sqlite_row.e implementation feature `is_null` iff the returned object is not attached.
 

Revision 102732 - Directory Listing
Modified Wed Jan 23 11:17:51 2019 UTC (12 months ago) by javierv
Updated OpenSSL library initialization, for OpenSSL 1.1.0 or above, the library will initialize itself automatically.
Updated Readme file with the correct OpenSSL version.

Revision 102643 - Directory Listing
Modified Wed Dec 19 15:20:27 2018 UTC (13 months, 1 week ago) by alexk
Removed redefinitions that violate VDRS(4) when a deferred feature is effected in the class, not redefined.

Revision 102639 - Directory Listing
Modified Wed Dec 19 14:54:52 2018 UTC (13 months, 1 week ago) by alexk
Commented out an unused local variable (the comment is used to show some other usages).

Revision 102636 - Directory Listing
Modified Wed Dec 19 14:26:03 2018 UTC (13 months, 1 week ago) by alexk
Removed unused local variables.

Revision 102629 - Directory Listing
Modified Wed Dec 19 09:53:01 2018 UTC (13 months, 1 week ago) by jfiat
Make it possible to manually unset an existing alias.

Revision 102581 - Directory Listing
Modified Tue Dec 11 20:30:21 2018 UTC (13 months, 2 weeks ago) by javierv
Updated {SSL_CONTEXT}.min_proto_version to use NATURAL instead of INTEGER.
Added {SSL_SOCKET}.min_proto_version and {SSL_SOCKET}.max_proto_version.
Moved protocol_version feature to {SSL_SOCKET}.


Revision 102580 - Directory Listing
Modified Tue Dec 11 20:09:38 2018 UTC (13 months, 2 weeks ago) by javierv
Updated OpenSSL library 

Added {SSL_CONTEXT}.set_options feature to change the behavor of the SSL library
by setting several options {SSL_OPTIONS}, the options are coded as bitmasks and can be combined by a bit_or operation (|).
Added {SSL_CONTEXT}.set_min_proto_version (a_version: NATURAL) and {SSL_CONTEXT}.set_max_proto_version (a_version: NATURAL) features to set minimum and maximum supported protocol version.
Added {SSL_CONTEXT}.min_proto_version:NATURAL and SSL_CONTEXT.max_proto_version to get the minimum and maximum supported protocol version.
Added support for TLSv1.3 using the flexible methods TLS_server_method(), TLS_client_method(), new code should use them.
Updated the SSL_PROTOCOL class to use OpenSSL constants like ssl3_version, tlsv1_version, etc.


Updated EiffelNet SSL to use the new {SSL_PROTOCOL} constants instead of deprecated features.
Updated {SSL_SOCKET}.initialize_client_ssl and {SSL_SOCKET}.server_context features to use TLSv1.3.


Revision 102566 - Directory Listing
Modified Thu Dec 6 14:43:28 2018 UTC (13 months, 2 weeks ago) by jfiat
Fixed issue with page having unicode keywords (tags).

Revision 102565 - Directory Listing
Modified Thu Dec 6 14:05:24 2018 UTC (13 months, 2 weeks ago) by jfiat
Fixed redirection to previous page during login workflow.

Revision 102561 - Directory Listing
Modified Wed Dec 5 18:04:11 2018 UTC (13 months, 3 weeks ago) by jfiat
Fixed warnings.

Revision 102559 - Directory Listing
Modified Wed Dec 5 17:58:30 2018 UTC (13 months, 3 weeks ago) by jfiat
Updated js scripts for node preview.

Revision 102558 - Directory Listing
Modified Wed Dec 5 17:46:29 2018 UTC (13 months, 3 weeks ago) by jfiat
Added preview for node editing.

Revision 102543 - Directory Listing
Modified Wed Nov 28 09:36:51 2018 UTC (13 months, 4 weeks ago) by jfiat
Updated Readme.md with new location for binaries (.lib, .dll, ...)

Revision 102542 - Directory Listing
Modified Wed Nov 28 09:04:05 2018 UTC (13 months, 4 weeks ago) by jfiat
Updated ecf related to openssl (and callers), to use the custom variable "openssl_static" in order to decide to link with static or dynamic C lib.
For backward compatibility, provided XXX_dynamic.ecf and XXX_static.ecf library files.

Revision 102541 - Directory Listing
Modified Tue Nov 27 19:02:26 2018 UTC (13 months, 4 weeks ago) by javierv
Updated OpenSSL dynamic configuration file.

Revision 102540 - Directory Listing
Modified Tue Nov 27 19:00:29 2018 UTC (13 months, 4 weeks ago) by javierv
Updated openssl.ecf to use custom variable `openssl_static` to true.

Revision 102538 - Directory Listing
Modified Tue Nov 27 15:41:54 2018 UTC (13 months, 4 weeks ago) by javierv
Updated OpenSSL library
Fixed library paths for static and dynamic versions.

Revision 102535 - Directory Listing
Modified Mon Nov 26 23:00:53 2018 UTC (13 months, 4 weeks ago) by javierv
Updated OpenSSL and NetSSL Readme files to openssl verions 1.1.1a

Revision 102533 - Directory Listing
Modified Sat Nov 24 12:12:13 2018 UTC (14 months ago) by javierv
Updated OpenSSL Library
Updated SSL KEY PAIR generatio to generate public key in PEM or PCKS#1 format.
Cleaned code.

Revision 102515 - Directory Listing
Modified Fri Nov 23 11:12:40 2018 UTC (14 months ago) by javierv
Updated OpenSSL library.
Updated ssl_rsa_public_key.e, added creation procedures to create a public key using PEM format (default) and PCKS#1 format. 
Updated test cases to use the PCKS#1 format iff is required.
Updated NetSSL examples to use the same ecf naming convention for static and dynamic versions.

Revision 102514 - Directory Listing
Modified Thu Nov 22 20:59:00 2018 UTC (14 months ago) by javierv
Fixed Cypher Context, the call to EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, taglen, tag) is only legal on decryption mode.

Revision 102468 - Directory Listing
Modified Thu Nov 15 20:31:45 2018 UTC (14 months, 1 week ago) by jfiat
Cosmetic: fixed indentation, removed unwanted empty lines.
Added license.lic

Revision 102452 - Directory Listing
Modified Tue Nov 13 17:59:29 2018 UTC (14 months, 1 week ago) by javierv
Updated OpenSSL readme, how to get OpenSSL Binaries.

Revision 102451 - Directory Listing
Modified Tue Nov 13 17:28:29 2018 UTC (14 months, 1 week ago) by javierv
Removed old code.

Revision 102450 - Directory Listing
Modified Tue Nov 13 17:25:05 2018 UTC (14 months, 1 week ago) by javierv
Updated OpenSSL Readme document, how to get precompiled binaries, supported version.
Updated EiffelNet SSL examples, added specific ecf's to use OpenSSL static or dynamic version.
Added Readme file per example describing how to use them
Clean code: updated examples to use `ARGUMENTS_32` instead of the obsolte class `ARGUMENTS`



Revision 102446 - Directory Listing
Modified Tue Nov 13 12:46:58 2018 UTC (14 months, 1 week ago) by jfiat
Fixed caller of {CMS_ENCODERS}.secured_url_content to avoid obsolete implicate conversions to STRING_8.

Revision 102440 - Directory Listing
Modified Tue Nov 13 10:52:24 2018 UTC (14 months, 1 week ago) by alexk
Enabled warnings.

Revision 102439 - Directory Listing
Modified Tue Nov 13 10:49:31 2018 UTC (14 months, 1 week ago) by alexk
Enabled warnings.

Revision 102438 - Directory Listing
Modified Tue Nov 13 10:45:41 2018 UTC (14 months, 1 week ago) by alexk
Enabled warnings.

Revision 102437 - Directory Listing
Modified Tue Nov 13 10:45:14 2018 UTC (14 months, 1 week ago) by alexk
Removed unused local variables.

Revision 102436 - Directory Listing
Modified Tue Nov 13 10:34:58 2018 UTC (14 months, 1 week ago) by alexk
Removed unused local variables.

Revision 102435 - Directory Listing
Modified Tue Nov 13 10:32:49 2018 UTC (14 months, 1 week ago) by alexk
Enabled warnings.

Revision 102434 - Directory Listing
Modified Tue Nov 13 10:13:03 2018 UTC (14 months, 1 week ago) by alexk
Enabled warnings.

Revision 102433 - Directory Listing
Modified Tue Nov 13 10:08:44 2018 UTC (14 months, 1 week ago) by alexk
Enabled warnings.

Revision 102432 - Directory Listing
Modified Tue Nov 13 10:08:10 2018 UTC (14 months, 1 week ago) by alexk
Removed unused local variables.

Revision 102431 - Directory Listing
Modified Tue Nov 13 09:45:30 2018 UTC (14 months, 1 week ago) by alexk
Removed unused local variables.

Revision 102430 - Directory Listing
Modified Tue Nov 13 09:33:48 2018 UTC (14 months, 1 week ago) by alexk
Removed an unused local variable.

Revision 102429 - Directory Listing
Modified Tue Nov 13 09:28:19 2018 UTC (14 months, 1 week ago) by alexk
Removed a -safe version of the ECF because it is not needed anymore.

Revision 102428 - Directory Listing
Modified Tue Nov 13 09:24:32 2018 UTC (14 months, 1 week ago) by alexk
Removed unused local variables and features.

Revision 102427 - Directory Listing
Modified Tue Nov 13 08:55:13 2018 UTC (14 months, 1 week ago) by alexk
Removed a -safe version of the ECF because it is not needed anymore.

Revision 102426 - Directory Listing
Modified Tue Nov 13 08:45:16 2018 UTC (14 months, 1 week ago) by alexk
Removed an unused local variable and unused features.

Revision 102415 - Directory Listing
Modified Thu Nov 8 14:44:59 2018 UTC (14 months, 2 weeks ago) by javierv
Updated JWT library with class descriptions and better features names.
Updated OpenSSL feature names.



Revision 102406 - Directory Listing
Modified Wed Nov 7 23:13:21 2018 UTC (14 months, 2 weeks ago) by javierv
JWT library fixed to use agorithms names in upper case.
Added a new JWT extension libary implemented with openssl to support the following JWT algoritms RS256, RS384 and RS512.

Updated Oauth library (Cypress) to use JWT token flow.
Added two examples (Google OAuth2 and BOX API) showing how to use the JWT token flow.

Updated OpenSSL Asymetric Crypto algorithm with RSA API with new features to
sign with different sha algorithms (256, 384 and 512) and RSA Digest Verification with 
different algorithms (256, 384, 512).

Revision 102380 - Directory Listing
Modified Wed Oct 24 10:57:25 2018 UTC (15 months ago) by javierv
OpenSSL update: forgot to commit ssl_rsa_private_key.e and ssl_rsa_public_key.e

Revision 102379 - Directory Listing
Modified Tue Oct 23 22:40:25 2018 UTC (15 months ago) by javierv
Updated OpenSSL RSA support, with public_encrypt, private_decrypt.
Added error handling.
Added support for sign messages. TODO verify.

Revision 102355 - Directory Listing
Modified Mon Oct 22 13:34:14 2018 UTC (15 months ago) by javierv
Initial Import OpenSSL RSA encrypt/decrypt.
TODO: add sign and verify features.


Revision 102354 - Directory Listing
Modified Mon Oct 22 08:06:53 2018 UTC (15 months ago) by jfiat
Added CMS_API.setup.site_auth_max_age and site_auth_token.

Revision 102352 - Directory Listing
Modified Fri Oct 19 18:39:58 2018 UTC (15 months, 1 week ago) by jfiat
Fixed typo in comment.

Revision 102351 - Directory Listing
Modified Fri Oct 19 18:39:18 2018 UTC (15 months, 1 week ago) by jfiat
If the oauth callback does not provide any expiration, use the default CMS one.

Revision 102350 - Directory Listing
Modified Fri Oct 19 12:02:34 2018 UTC (15 months, 1 week ago) by jfiat
Set `Expires=` in cookie for old browser support.

Revision 102346 - Directory Listing
Modified Fri Oct 19 08:55:19 2018 UTC (15 months, 1 week ago) by jfiat
Added information useful to setup OAuth authorization.

Revision 102341 - Directory Listing
Modified Fri Oct 19 07:30:44 2018 UTC (15 months, 1 week ago) by jfiat
Added video content format, and testing suite.

Revision 102340 - Directory Listing
Modified Fri Oct 19 07:06:58 2018 UTC (15 months, 1 week ago) by jfiat
Fixed oauth2 module implementation:
 - updated expected path
 - fixed usage of cookie (especially the expiration)
 - better implementation for account oauth2 association
 - always set a User-Agent for the request.
 - better checking for existing user association.
 - allow to rely on oauth value other than email (for now, email, login, or id)
 - Added better permission for auth modules.
 - Implemented oauth2 consumer deletion.

WARNING: the oauth2_... tables need to rename "email" as "id" !


Revision 102325 - Directory Listing
Modified Tue Oct 16 16:24:03 2018 UTC (15 months, 1 week ago) by jfiat
Added target with mysql storage.

Revision 102324 - Directory Listing
Modified Tue Oct 16 14:24:08 2018 UTC (15 months, 1 week ago) by jfiat
Redesigned oauth2 to be able to add new oauth2 setting, and db initialization.
Added utf_8_text_item to config reader.
Propagate storage error during installation.
Use WSF_RESPONSE.put_error to output important log messages.
Report error raised during module installation.
Report storage initialization error in the information when installing.
    (now the CMS_STORAGE_NULL.error_handler contains the initialization error message).
Better error message for contact module installation.


Revision 102266 - Directory Listing
Modified Wed Oct 3 15:58:35 2018 UTC (15 months, 3 weeks ago) by alexk
Replaced a regular call to a creation procedure to the corresponding features to wipe out the structure and to allocate necessary memory.

Revision 102222 - Directory Listing
Modified Tue Sep 25 10:14:10 2018 UTC (16 months ago) by jfiat
Added CMS_HOOK_BLOCK.clear_block_caches (...)

Revision 102169 - Directory Listing
Modified Fri Sep 14 13:30:03 2018 UTC (16 months, 1 week ago) by jfiat
cleaned oauth20.ecf 

Revision 102168 - Directory Listing
Modified Fri Sep 14 13:27:19 2018 UTC (16 months, 1 week ago) by jfiat
cleaned auth.ecf 

Revision 102150 - Directory Listing
Modified Mon Sep 10 12:54:16 2018 UTC (16 months, 2 weeks ago) by jfiat
If no entry is found for recent changes, allow to search before.

Revision 102149 - Directory Listing
Modified Mon Sep 10 12:13:22 2018 UTC (16 months, 2 weeks ago) by jfiat
Fixed users_by_profile_name .

Revision 102148 - Directory Listing
Modified Mon Sep 10 11:42:52 2018 UTC (16 months, 2 weeks ago) by jfiat
Added `CMS_USER_API.users_by_profile_name (a_name: READABLE_STRING_GENERAL): detachable LIST [CMS_USER]` .
Recent changes can also be filtered by user name or profile_name.

Revision 102146 - Directory Listing
Modified Mon Sep 10 10:22:05 2018 UTC (16 months, 2 weeks ago) by jfiat
Added filter by author for recent changes handler.

Revision 102145 - Directory Listing
Modified Fri Sep 7 15:29:02 2018 UTC (16 months, 2 weeks ago) by jfiat
Remember the last filtered source!

Revision 102137 - Directory Listing
Modified Thu Sep 6 16:07:18 2018 UTC (16 months, 2 weeks ago) by javierv
Updated cypress library to the latest version.
Added Login with Github example showing how to use Cypress.

Revision 102124 - Directory Listing
Modified Mon Sep 3 13:11:13 2018 UTC (16 months, 3 weeks ago) by jfiat
Improved the "contact" notification email by adding information about the sender!

Revision 102123 - Directory Listing
Modified Mon Sep 3 13:10:30 2018 UTC (16 months, 3 weeks ago) by jfiat
Ensure the json webapi response is really UTF-8 encoded!

Revision 102119 - Directory Listing
Modified Mon Sep 3 07:35:08 2018 UTC (16 months, 3 weeks ago) by jfiat
The CMS response uses the utf-8 charset.

Revision 102111 - Directory Listing
Modified Fri Aug 31 13:00:35 2018 UTC (16 months, 3 weeks ago) by javierv
Updated OpenSSL readme file-
Added missing command to install OpenSSL on Ubuntu.


Revision 102104 - Directory Listing
Modified Thu Aug 30 07:58:39 2018 UTC (16 months, 3 weeks ago) by jfiat
Added session auth for webapi (useful for script embedded in cms pages).

Revision 102093 - Directory Listing
Modified Tue Aug 28 11:43:36 2018 UTC (16 months, 4 weeks ago) by jfiat
Removed deprecated google_search module (replaced by google_search_20).

Revision 102082 - Directory Listing
Modified Tue Aug 28 08:04:16 2018 UTC (16 months, 4 weeks ago) by jfiat
Fix html for contact notification email.

Revision 102079 - Directory Listing
Modified Tue Aug 28 06:54:50 2018 UTC (16 months, 4 weeks ago) by jfiat
Use {htmlentities}..{/htmlentities} at many places in templates.

Revision 102077 - Directory Listing
Modified Mon Aug 27 15:10:00 2018 UTC (16 months, 4 weeks ago) by jfiat
Fixed XSS issue with google custom search module.

Revision 102075 - Directory Listing
Modified Mon Aug 27 14:41:46 2018 UTC (16 months, 4 weeks ago) by jfiat
Fixed XSS security vulnerability such as `https://www.example.com/account/auth/roc-session-login?destination=x%22%3E%3CsvG%20onLoad=prompt(9)%3E`

Revision 102074 - Directory Listing
Modified Mon Aug 27 13:24:25 2018 UTC (16 months, 4 weeks ago) by jfiat
Updated cms block design to allow setup even on block loaded from cache.

Revision 102041 - Directory Listing
Modified Fri Aug 17 10:29:49 2018 UTC (17 months, 1 week ago) by jfiat
Removed unwanted styles from gcse .

Revision 102040 - Directory Listing
Modified Fri Aug 17 10:28:10 2018 UTC (17 months, 1 week ago) by jfiat
Improved page html style of the google cse results.

Revision 102028 - Directory Listing
Modified Thu Aug 16 11:23:20 2018 UTC (17 months, 1 week ago) by jfiat
Removed obsolete format.

Revision 102027 - Directory Listing
Modified Thu Aug 16 11:17:15 2018 UTC (17 months, 1 week ago) by jfiat
Fixed security vulnerability when generating the feed, be sure to use the associated format for `summary`.
Added cms format related helper feature, and also a shortcut for secured format (using the security filter).

Revision 102020 - Directory Listing
Modified Tue Aug 14 18:01:28 2018 UTC (17 months, 1 week ago) by jfiat
Updated embedded video filter implementation.

Revision 102019 - Directory Listing
Modified Tue Aug 14 14:28:19 2018 UTC (17 months, 1 week ago) by jfiat
Cleaned cms format selection.

Revision 102018 - Directory Listing
Modified Tue Aug 14 14:27:27 2018 UTC (17 months, 1 week ago) by jfiat
Updated installation files.

Revision 102017 - Directory Listing
Modified Tue Aug 14 14:26:05 2018 UTC (17 months, 1 week ago) by jfiat
Updated test suite.

Revision 102016 - Directory Listing
Modified Tue Aug 14 13:11:59 2018 UTC (17 months, 1 week ago) by jfiat
Fixed parsing for attribute value without any quote.

Revision 102015 - Directory Listing
Modified Tue Aug 14 12:36:00 2018 UTC (17 months, 1 week ago) by jfiat
Added a new SECURITY_HTML_CONTENT_FILTER content filter, to remove unwanted <script> ... onload="..." src="javascript:..." .

Revision 102013 - Directory Listing
Modified Tue Aug 14 09:30:14 2018 UTC (17 months, 1 week ago) by jfiat
Added quick and basic help for wikitext editing. 

Revision 102012 - Directory Listing
Modified Tue Aug 14 09:29:37 2018 UTC (17 months, 1 week ago) by jfiat
Fix code to follow recommendation from the Code analyzer.

Revision 102011 - Directory Listing
Modified Tue Aug 14 09:29:14 2018 UTC (17 months, 1 week ago) by jfiat
Protect access to roles permissions (readonly) grid.

Revision 102008 - Directory Listing
Modified Mon Aug 13 14:36:19 2018 UTC (17 months, 1 week ago) by jfiat
Improvement to better handle potential security vulnerabilities.
- added permissions on content format usage
- improved "approval" mechanism for new user registration (still in progress, may need deeper design workflow changes)
- nicer table to permissions

Revision 102007 - Directory Listing
Modified Mon Aug 13 14:34:37 2018 UTC (17 months, 1 week ago) by jfiat
Wrapped plaintext help in <pre> element to generate the default html help.

Revision 102006 - Directory Listing
Modified Mon Aug 13 13:33:12 2018 UTC (17 months, 1 week ago) by jfiat
Added a way to set custom path alias.

Revision 101903 - Directory Listing
Modified Mon Jul 2 15:49:09 2018 UTC (18 months, 3 weeks ago) by jfiat
Updated to 1-18-0 to use new standard manifest array.

Revision 101899 - Directory Listing
Modified Mon Jul 2 12:21:11 2018 UTC (18 months, 3 weeks ago) by jfiat
Updated to 1-18-0 to use new manifest array standard.

Revision 101853 - Directory Listing
Modified Mon Jun 25 12:47:04 2018 UTC (19 months ago) by alexk
Specified explicit manifest array type to avoid an error that computed manifest array type does not conform to the target of reattachment.

Revision 101845 - Directory Listing
Modified Fri Jun 22 20:59:27 2018 UTC (19 months ago) by jfiat
Protect cache creation/update against failure such as no more memory.

Revision 101832 - Directory Listing
Modified Wed Jun 20 13:03:26 2018 UTC (19 months ago) by jfiat
Better control on metadata and SEO.

Revision 101829 - Directory Listing
Modified Mon Jun 18 12:17:36 2018 UTC (19 months, 1 week ago) by jfiat
Include the site keywords only on front page.

Revision 101827 - Directory Listing
Modified Mon Jun 18 07:32:34 2018 UTC (19 months, 1 week ago) by jfiat
Use meaningful content values to set the html page metadata.
- Try to use content summary or title, or whatever value is close to a "description" in order to set the html page metadata "description".
- Use tags related to page content, in addition to the site keywords to set the keywords metadata.

Revision 101826 - Directory Listing
Modified Fri Jun 15 12:54:08 2018 UTC (19 months, 1 week ago) by jfiat
When listing all terms from a vocabulary (taxonomy), sort then by number of occurrences and display the number of occurrences.
When listing all entities related to a term (taxonomy), add a link to display list of all terms from the associated vocabulary.

Revision 101825 - Directory Listing
Modified Thu Jun 14 20:01:51 2018 UTC (19 months, 1 week ago) by jfiat
Fixed query related to taxonomy, to find entities associated with a specific term.

Revision 101788 - Directory Listing
Modified Fri May 25 09:23:29 2018 UTC (20 months ago) by jfiat
New CMS_MODULE.add_optional_dependency (...)

Revision 101751 - Directory Listing
Modified Fri May 18 19:31:09 2018 UTC (20 months, 1 week ago) by jfiat
Added permission to delete its own uploaded files.

Revision 101686 - Directory Listing
Modified Fri Apr 27 17:55:36 2018 UTC (20 months, 4 weeks ago) by jfiat
Generate TOC for any WIKITEXT_FILTER generation.

Revision 101685 - Directory Listing
Modified Fri Apr 27 17:54:27 2018 UTC (20 months, 4 weeks ago) by jfiat
Use percent_encoded_path_info instead of unicode path_info.

Revision 101684 - Directory Listing
Modified Fri Apr 27 17:16:56 2018 UTC (20 months, 4 weeks ago) by jfiat
Added FEED_PROVIDER_HOOK to access directly FEED object if available within CMS. 
(note: it avoid being an http client of itself)

Revision 101681 - Directory Listing
Modified Fri Apr 27 14:02:47 2018 UTC (21 months ago) by jfiat
Fixed an issue in precondition code.

Revision 101663 - Directory Listing
Modified Mon Apr 16 19:03:06 2018 UTC (21 months, 1 week ago) by javierv
Updated OpenSSL Readme: with how to install openssl on Mac?

Revision 101558 - Directory Listing
Modified Fri Mar 23 17:43:13 2018 UTC (22 months ago) by javierv
Updated Eiffel NetSSL  to support Read and Write on non blocking mode.
Added a non-blocing client_server example.


Revision 101557 - Directory Listing
Modified Fri Mar 23 17:30:37 2018 UTC (22 months ago) by javierv
Updated openssl.ecf and openssl_dynamic.ecf to use the new clibs_openssl library.
Updated OpenSSL wrapper with Ciphers (Symetric Algorithms like GCM)


Revision 101547 - Directory Listing
Modified Thu Mar 22 09:47:00 2018 UTC (22 months ago) by jfiat
Updated test code to check for `reset` implementation.

Revision 101364 - Directory Listing
Modified Tue Feb 6 15:50:57 2018 UTC (23 months, 2 weeks ago) by javierv
Updated code to use {CURL_EXTERNALS}.is_api_available instead of {CURL_EXTERNALS}.is_dynamic_library_exists to avoid obsolete feature call.
Updated code to store the cursor at client side to avoud obsolete feature call


Revision 101351 - Directory Listing
Modified Sat Feb 3 10:24:35 2018 UTC (23 months, 3 weeks ago) by jfiat
Fixed compilation and removed obsolete calls.

Revision 101349 - Directory Listing
Modified Fri Feb 2 21:09:35 2018 UTC (23 months, 3 weeks ago) by jfiat
Removed obsolete calls (mostly conversion from string 8 to string 32, or reverse).
Minor design change in RECAPTCHA_API to have integer attributes instead of strings.

Revision 101348 - Directory Listing
Modified Fri Feb 2 20:51:14 2018 UTC (23 months, 3 weeks ago) by javierv
Updated code to remove unreferenced local variables.

Revision 101347 - Directory Listing
Modified Fri Feb 2 20:36:08 2018 UTC (23 months, 3 weeks ago) by javierv
Updated Zlib testing code, used make_filled instead of make, to avoid obsolete feature call.

Revision 101346 - Directory Listing
Modified Fri Feb 2 19:52:07 2018 UTC (23 months, 3 weeks ago) by javierv
Updated code to remove unreferenced local variables.

Revision 101345 - Directory Listing
Modified Fri Feb 2 18:04:56 2018 UTC (23 months, 3 weeks ago) by javierv
Updated code to call explicitly to {TYPE}.generating_type.name_32 to avoid obsolete feature call on to_string_32.

Revision 101344 - Directory Listing
Modified Fri Feb 2 12:52:47 2018 UTC (23 months, 3 weeks ago) by jfiat
Simplified implementation of `is_valid_password_unicode`.
Updated comment of `hashed_password`.

Revision 101343 - Directory Listing
Modified Fri Feb 2 12:01:36 2018 UTC (23 months, 3 weeks ago) by javierv
Updated BCrypt code to use explicit conversion 'to_string_32'.
Updated BASE32 AND BASE64 code to use `code (i)` for consistency with Unicode string handling.
Updated abel test.ecf to avoid Error code: VD01

Revision 101342 - Directory Listing
Modified Thu Feb 1 15:48:54 2018 UTC (23 months, 3 weeks ago) by javierv
Used explicit array types to avoid the type error non-conforming manifest array.

Revision 101341 - Directory Listing
Modified Thu Feb 1 15:34:13 2018 UTC (23 months, 3 weeks ago) by javierv
Removed unreferenced local variables 
Used explicit array types to avoid the type error non-conforming manifest array.

Revision 101312 - Directory Listing
Modified Fri Jan 26 10:28:25 2018 UTC (23 months, 4 weeks ago) by jfiat
Fixed wrong error message when registering new account.


Revision 101240 - Directory Listing
Modified Mon Jan 15 10:10:10 2018 UTC (2 years ago) by jfiat
Marked features used in non-object calls as class ones.

Revision 101234 - Directory Listing
Modified Fri Jan 12 14:16:25 2018 UTC (2 years ago) by jfiat
Marked features used in non-object calls as class ones.

Revision 101229 - Directory Listing
Modified Thu Jan 11 21:30:17 2018 UTC (2 years ago) by jfiat
Fixed internal implementation of {BYTE_ARRAY_CONVERTER}.make_from_base_n_string (..).
   - including make_from_hex_string
   - added autotests for BYTE_ARRAY_CONVERTER

Revision 101227 - Directory Listing
Modified Thu Jan 11 14:58:02 2018 UTC (2 years ago) by jfiat
Fixed compilation of mysqli library.
- Removed bad usage of MEMORY_STRUCTURE for array of MYSQL_BIND struct value.
- Use $MYSQL to locate the mysql C connector on Windows.

Revision 101059 - Directory Listing
Modified Wed Nov 22 10:09:24 2017 UTC (2 years, 2 months ago) by jfiat
Removed unwanted committed .rc files.

Revision 101021 - Directory Listing
Modified Tue Nov 7 22:25:44 2017 UTC (2 years, 2 months ago) by jfiat
Reverted after EiffelWeb reverted the change that made WSF_URI_HANDLER and WSF_URI_TEMPLATE_HANDLER inheriting from WSF_EXECUTE_HANDLER.
Also reverted change on CMS_ROUTER that was committed by mistake.

Revision 101019 - Directory Listing
Modified Tue Nov 7 14:56:30 2017 UTC (2 years, 2 months ago) by jfiat
Fixed conflicts between versions of repeatedly inherited feature.

Revision 101016 - Directory Listing
Modified Tue Nov 7 14:33:27 2017 UTC (2 years, 2 months ago) by jfiat
Fixed conflicts between versions of repeatedly inherited feature.

Revision 100970 - Directory Listing
Modified Fri Oct 27 10:19:12 2017 UTC (2 years, 2 months ago) by jfiat
Use absolute URL for href value in webapi json response.

Revision 100969 - Directory Listing
Modified Fri Oct 27 10:17:56 2017 UTC (2 years, 2 months ago) by jfiat
Improved credential validation.
  - added `CMS_USER_API.user_with_credential (...): detachable CMS_USER` that check if credential is valid, and return associated user.
  - replaced use of `is_valid_credential` by new function `user_with_credential` .
  - revisited the session auth, to allow other credential validations (other than ROC CMS auth).
  - added CMS_USER_API.credential_validations to allow authenticating with system other than ROC CMS.
Added new permission to allow by-passing the default ROC-CMS user login/register management:
  - new permission to edit its own account.
  - new permission to edit its own password.
  - new permission to view users details (mostly for user managers).
 



Revision 100925 - Directory Listing
Modified Tue Oct 17 11:37:51 2017 UTC (2 years, 3 months ago) by jfiat
Minor cosmetic changes.

Revision 100924 - Directory Listing
Modified Tue Oct 17 09:08:58 2017 UTC (2 years, 3 months ago) by jfiat
Cleaned files.

Revision 100913 - Directory Listing
Modified Mon Oct 16 13:06:41 2017 UTC (2 years, 3 months ago) by jfiat
Added debug purpose class to collect info about cms setup.

Revision 100897 - Directory Listing
Modified Wed Oct 11 20:07:04 2017 UTC (2 years, 3 months ago) by jfiat
Make initialization safer

Revision 100895 - Directory Listing
Modified Wed Oct 11 19:46:41 2017 UTC (2 years, 3 months ago) by jfiat
fix sql for MySQL

Revision 100891 - Directory Listing
Modified Wed Oct 11 15:05:21 2017 UTC (2 years, 3 months ago) by jfiat
added a way to set user password for the admin, or user managers

Revision 100890 - Directory Listing
Modified Wed Oct 11 13:34:44 2017 UTC (2 years, 3 months ago) by jfiat
protected system info access

Revision 100889 - Directory Listing
Modified Wed Oct 11 13:26:30 2017 UTC (2 years, 3 months ago) by jfiat
added system info admin page

Revision 100888 - Directory Listing
Modified Wed Oct 11 11:44:48 2017 UTC (2 years, 3 months ago) by jfiat
if .debug exists, output debug info in stderr output

Revision 100881 - Directory Listing
Modified Tue Oct 10 19:46:01 2017 UTC (2 years, 3 months ago) by jfiat
Reuse constant string value instead of using manifest string.

Revision 100866 - Directory Listing
Modified Tue Oct 10 13:04:45 2017 UTC (2 years, 3 months ago) by jfiat
Report error during execute_sql_script routine.

Revision 100865 - Directory Listing
Modified Tue Oct 10 13:03:26 2017 UTC (2 years, 3 months ago) by jfiat
Added CMS_WEBAPI_HANDLER.new_permissions_access_denied_error_response (..) to provide the required permissions.

Revision 100864 - Directory Listing
Modified Tue Oct 10 13:01:56 2017 UTC (2 years, 3 months ago) by jfiat
Use proper form id.

Revision 100863 - Directory Listing
Modified Tue Oct 10 11:12:01 2017 UTC (2 years, 3 months ago) by jfiat
Improved the sqlite3 sql statement converter.

Revision 100862 - Directory Listing
Modified Tue Oct 10 11:10:45 2017 UTC (2 years, 3 months ago) by jfiat
Accept env.json for the app environment file, if the $system_name.json is not found.

Revision 100857 - Directory Listing
Modified Mon Oct 9 14:03:15 2017 UTC (2 years, 3 months ago) by jfiat
Improved style for inline code.

Revision 100829 - Directory Listing
Modified Wed Oct 4 16:35:32 2017 UTC (2 years, 3 months ago) by jfiat
Updated (s)css files for wikitext module.
clean code.

Revision 100828 - Directory Listing
Modified Wed Oct 4 16:31:25 2017 UTC (2 years, 3 months ago) by jfiat
Display verbose output only if --verbose is set.
Report at the end, a quick summary of the installation.

Revision 100823 - Directory Listing
Modified Wed Oct 4 14:09:16 2017 UTC (2 years, 3 months ago) by javierv
Updated EiffelNetSLL to use the new openssl library.


Revision 100822 - Directory Listing
Modified Wed Oct 4 14:06:15 2017 UTC (2 years, 3 months ago) by javierv
Initial import Eiffel OpenSSL wrapper with basic support for Elliptic Curve Digital Signature Algorithm (ECDSA).
Library version: OpenSSL 1.1.0f


Revision 100810 - Directory Listing
Modified Tue Oct 3 09:07:22 2017 UTC (2 years, 3 months ago) by jfiat
Added border radius for inline code.

Revision 100809 - Directory Listing
Modified Tue Oct 3 08:58:55 2017 UTC (2 years, 3 months ago) by jfiat
no border on inline code

Revision 100803 - Directory Listing
Modified Mon Oct 2 13:38:44 2017 UTC (2 years, 3 months ago) by jfiat
SCOOP is default for demo.ecf

Revision 100800 - Directory Listing
Modified Fri Sep 29 15:29:36 2017 UTC (2 years, 3 months ago) by jfiat
Allow to login with username or email.
Removed useless and unimplemented feature from CMS_FORM .


Revision 100795 - Directory Listing
Modified Thu Sep 28 13:17:16 2017 UTC (2 years, 3 months ago) by jfiat
Improved sql instructions to ease debugging and catch missing sql_finalize... call.
Cleaned sql code.

Revision 100794 - Directory Listing
Modified Thu Sep 28 13:10:00 2017 UTC (2 years, 3 months ago) by jfiat
Made blog and page module self administrable, i.e administration module is same as module.
This fixes the export hook for page and blog modules.

Revision 100785 - Directory Listing
Modified Thu Sep 21 19:37:35 2017 UTC (2 years, 4 months ago) by jfiat
Added missing file for CMS_BASIC_WEBAPI_AUTH_FILTER .

Revision 100784 - Directory Listing
Modified Thu Sep 21 11:04:40 2017 UTC (2 years, 4 months ago) by jfiat
Fix authenticated role permissions, now it also has all anonymous permissions.
Added permissions on basic auth, to have more control on who can authenticate with basic auth.
Use webapi version of basic auth filter.
For webapi, when authenticated /api/user/ is the same as /api/user/{uid} where uid is the id of current logged in user.


Revision 100779 - Directory Listing
Modified Tue Sep 19 16:48:33 2017 UTC (2 years, 4 months ago) by jfiat
Improved core webapi, added registration link, support redirection.
Use error webapi response, rather than `send_...` routines.

Revision 100778 - Directory Listing
Modified Tue Sep 19 16:44:39 2017 UTC (2 years, 4 months ago) by jfiat
Moved activation implementation into authentication api.

Revision 100777 - Directory Listing
Modified Tue Sep 19 16:41:34 2017 UTC (2 years, 4 months ago) by jfiat
Convert exception into error when starting transaction fails with sqlite3.

Revision 100764 - Directory Listing
Modified Thu Sep 14 14:14:46 2017 UTC (2 years, 4 months ago) by javierv
Updated ssl/ssl_shared.e code, wrong external call.


Revision 100750 - Directory Listing
Modified Tue Sep 12 21:23:15 2017 UTC (2 years, 4 months ago) by jfiat
Added auth_api: CMS_AUTHENTICATION_API, and for now moved registration instructions inside.
Added authentication module webapi, to provide registration via webapi.
Improved the roles display by providing table of permissions if asked.
Added various links in primary tabs to navigate back to roles or users, depending on the page.
Added datetime to-from string converters in CMS_ENCODERS.
Start removing CMS_ADMINISTRABLE.
Added permission to use simple core access token.
Added webapi for users: list, new, register.

Revision 100748 - Directory Listing
Modified Mon Sep 11 20:43:18 2017 UTC (2 years, 4 months ago) by jfiat
Cleaned demo.ecf
Fixed modules admin handler permission checking from "admin.installation_access" to "administration.installation_access".
Use constants for known form id.
Invoke hook form alter for user view response.
Include theme when installing roc cms library.
Added themes admin and min.

Revision 100740 - Directory Listing
Modified Wed Sep 6 20:42:15 2017 UTC (2 years, 4 months ago) by jfiat
Added store_mysql_fake persistence solution, to compile a ROC CMS system with mysql interface, but no real mysql driver.
This is mainly during dev using sqlite, to include the mysql interfaces without depending on related C .lib files that are not always compiled.


Revision 100739 - Directory Listing
Modified Wed Sep 6 20:40:40 2017 UTC (2 years, 4 months ago) by jfiat
Added basic webapi system to ROC CMS system.
Added sql_delete routine to replace sql_modify with "DELETE FROM .." sql statement.
Fixed filter setup when a module has more than one filter.
Fixed filter setup for site,admin and webapi modes.
Added CMS_AUTH_FILTER, and check if user is already authenticated, then skip following auth filters.
Added specific webapi handler classes for root, user, access token, ...
Added user profile system to the core module.
Moved /user/{uid} from auth module to core module.
Added possibility to add html before and after a cms form. (useful to add a form before or after, as nested form are forbidden).
Now theme can be installed using roc install command.
Improved node feed and recent changes feed by setting proper feed id and feed item id, and set expected author name.

Revision 100738 - Directory Listing
Modified Wed Sep 6 20:24:58 2017 UTC (2 years, 4 months ago) by jfiat
Updated .ecf files.

Revision 100736 - Directory Listing
Modified Wed Sep 6 13:58:51 2017 UTC (2 years, 4 months ago) by jfiat
Improved recent changes module by allowing setting a proper id (and not a random UUID).


Revision 100735 - Directory Listing
Modified Wed Sep 6 13:57:43 2017 UTC (2 years, 4 months ago) by jfiat
Edit the path alias as url-decoded value, to avoid issue with %20 percent-encoded again and again as %25%20...


Revision 100733 - Directory Listing
Modified Wed Sep 6 13:13:29 2017 UTC (2 years, 4 months ago) by jfiat
Improved feed aggregation module.
    Added support to choose either atom or rss for the "/feed" format.
    Added support for feed format view to feed aggregation.
    Use proper content type for RSS and ATOM response.
    For feed aggregation  use `?view=feed` or `?view=feed.atom` or `?view=feed.rss`
    Improved sized feed view.
    Use site name for recent changes feed title.
    Better name for node feeds (include the site name).
    Use current date when a feed aggregation is converted to a new feed, to set the last build date.
    Fixed category filter per feed location for the feed aggregation module.
Improved recent changes module by allowing setting a proper id (and not a random UUID).
Include only published items in recent changes.

Revision 100721 - Directory Listing
Modified Mon Sep 4 19:51:02 2017 UTC (2 years, 4 months ago) by jfiat
Updated feed aggregator css files.

Revision 100715 - Directory Listing
Modified Fri Sep 1 17:11:18 2017 UTC (2 years, 4 months ago) by jfiat
Use clibs_zlib.ecf instead of referencing C_library/zlib/spec/... directly.

Revision 100642 - Directory Listing
Modified Fri Aug 18 18:20:09 2017 UTC (2 years, 5 months ago) by javierv
Fixed zlib.ecf removed extra slash in zlib.lib path.

Revision 100636 - Directory Listing
Modified Wed Aug 9 00:27:58 2017 UTC (2 years, 5 months ago) by javierv
Updated NetSSL library.
Added Sslv23 to avoid compilation issues and raise an exception.


Revision 100631 - Directory Listing
Modified Thu Jul 27 15:40:45 2017 UTC (2 years, 6 months ago) by javierv
Updated OpenSSL library initialization (https://wiki.openssl.org/index.php/Library_Initialization).
Updated code to support server name initialization TLS extention (https://en.wikipedia.org/wiki/Server_Name_Indication)
Cleaned code and removed unused code.
Updated README file with a link to read about different types of OpenSSL compilation.
Updated ssl client example `quick` with requestn.in.

Revision 100489 - Directory Listing
Modified Mon Jun 19 14:34:26 2017 UTC (2 years, 7 months ago) by alexk
Corrected library description.

Revision 100488 - Directory Listing
Modified Mon Jun 19 14:30:46 2017 UTC (2 years, 7 months ago) by alexk
Clarified library description.

Revision 100487 - Directory Listing
Modified Thu Jun 15 21:30:06 2017 UTC (2 years, 7 months ago) by javierv
Fixed code.

Revision 100482 - Directory Listing
Modified Wed Jun 14 19:05:02 2017 UTC (2 years, 7 months ago) by javierv
Updated Readme file
Fixed typo.
Added notes about how to build a static (/MT) and a dynamic (/MD) version of OpenSSL for 32 or 64 bits.

Revision 100481 - Directory Listing
Modified Wed Jun 14 18:57:21 2017 UTC (2 years, 7 months ago) by javierv
Updated Readme file.
How to compile OpenSSL version 1.1.0f.

Revision 100480 - Directory Listing
Modified Wed Jun 14 18:22:09 2017 UTC (2 years, 7 months ago) by javierv
Updated EiffelNet library to use the latest OpenSSL version 1.1.0f.
Updated headers  and removed deprecated features (client and server) using SSL23 and SSL3 version.
Updated eiffel configuration file to use the new OpenSSL libraries.
Added a new configuration file to use dynamic option (dll).
Updated Readme file.


Revision 100464 - Directory Listing
Modified Mon Jun 12 16:21:52 2017 UTC (2 years, 7 months ago) by jfiat
Fixed oauth20.ecf file by including wsf_html library.

Revision 100463 - Directory Listing
Modified Mon Jun 12 16:19:06 2017 UTC (2 years, 7 months ago) by jfiat
Fixed syntax error in demo.ecf file.

Revision 100462 - Directory Listing
Modified Mon Jun 12 16:15:37 2017 UTC (2 years, 7 months ago) by jfiat
Fixed syntax error in recaptcha.ecf file.

Revision 100460 - Directory Listing
Modified Mon Jun 12 07:37:33 2017 UTC (2 years, 7 months ago) by jfiat
Removed obsolete calls, harmonized predefine response, added non admin user pages.
When access is denied, also provide when possible and wanted, the needed permissions so that in the future, user will be able to ask for permission easily.
Renamed previous user handlers as admin user handlers.
Added non admin user handler /user/{uid} .
Add new `send_...` response to `CMS_API.response_api`, and use them instead of `create {...RESPONSE}.... ; execute`.
Fixed potential issue with storage mailer initialization if folder does not exist.
Added utf_8_encoded helpers function on CMS_API interface.
Fixed a few unicode potential issues.
Removed a few obsolete calls.
Fixed link for Oauth sign with.
Added administration pages for OAuth20 module.

Revision 100459 - Directory Listing
Modified Mon Jun 5 15:44:34 2017 UTC (2 years, 7 months ago) by jfiat
Fixed category filter per feed location for the feed aggregation module.

Revision 100454 - Directory Listing
Modified Fri Jun 2 14:15:09 2017 UTC (2 years, 7 months ago) by jfiat
Use current date when a feed aggregation is converted to a new feed, to set the last build date.

Revision 100452 - Directory Listing
Modified Fri Jun 2 13:50:16 2017 UTC (2 years, 7 months ago) by jfiat
Better name for node feeds (include the site name).

Revision 100450 - Directory Listing
Modified Fri Jun 2 13:08:05 2017 UTC (2 years, 7 months ago) by jfiat
Improved sized feed view.
Use site name for recent changes feed title.

Revision 100449 - Directory Listing
Modified Fri Jun 2 12:04:40 2017 UTC (2 years, 7 months ago) by jfiat
For feed aggregation  use `?view=feed` or `?view=feed.atom` or `?view=feed.rss`

Revision 100446 - Directory Listing
Modified Fri Jun 2 10:26:43 2017 UTC (2 years, 7 months ago) by jfiat
Added support to choose either atom or rss for the "/feed" format.
Added support for feed format view to feed aggregation.
Use proper content type for RSS and ATOM response.

Revision 100432 - Directory Listing
Modified Wed May 24 15:43:37 2017 UTC (2 years, 8 months ago) by jfiat
Removed useless code.
Update unicode handling.
Change type of `hashed` argument to READABLE_STRING_8 instead of _32 version, as a hashed value will always be a valid string 8 value.
Cosmetic/style changes.


Revision 100431 - Directory Listing
Modified Tue May 23 17:12:48 2017 UTC (2 years, 8 months ago) by javierv
Updated BCrypt code to check if we satisfy preconditions before we use it. 
Upated test cases.


Revision 100430 - Directory Listing
Modified Tue May 23 15:29:22 2017 UTC (2 years, 8 months ago) by jfiat
Improved BASE64 and BASE32 to be able to decode encoded string that has no padding characters '='.

Revision 100427 - Directory Listing
Modified Tue May 23 08:37:24 2017 UTC (2 years, 8 months ago) by jfiat
Added HMAC.base64_digest
Added BASE64.bytes_encoded_string (..) and BASE32.bytes_encoded_string (..) taking as argument a sequence of bytes (NATURAL_8).
Improved BASE64 and BASE32 implementation.
Fixed autotest case for sha1.

Revision 100421 - Directory Listing
Modified Fri May 19 12:37:20 2017 UTC (2 years, 8 months ago) by jfiat
Fixed previous changes on some package.iron files

Revision 100420 - Directory Listing
Modified Fri May 19 12:24:35 2017 UTC (2 years, 8 months ago) by jfiat
Updated package.iron files, removed -safe.ecf entries.

Revision 100403 - Directory Listing
Modified Mon May 15 17:15:31 2017 UTC (2 years, 8 months ago) by jfiat
Fixed tests for MD5.

Revision 100402 - Directory Listing
Modified Mon May 15 17:10:15 2017 UTC (2 years, 8 months ago) by jfiat
Fixed and improved BASE32 and BASE64 implementation. 
Added autotest cases.

Revision 100384 - Directory Listing
Modified Fri May 12 15:56:36 2017 UTC (2 years, 8 months ago) by alexk
Replaced calls to an obsolete feature `item_code` with calls to `code`.

Revision 100382 - Directory Listing
Modified Fri May 12 15:53:49 2017 UTC (2 years, 8 months ago) by alexk
Fixed postconditions to use `same_string` instead of `=` because recorded strings are copies of original ones.

Revision 100381 - Directory Listing
Modified Fri May 12 15:24:18 2017 UTC (2 years, 8 months ago) by alexk
Cosmetics.

Revision 100379 - Directory Listing
Modified Fri May 12 15:10:52 2017 UTC (2 years, 8 months ago) by jfiat
Fixed demo.ecf .

Revision 100374 - Directory Listing
Modified Fri May 12 14:01:24 2017 UTC (2 years, 8 months ago) by jfiat
Fixed demo.ecf .

Revision 100373 - Directory Listing
Modified Fri May 12 12:17:22 2017 UTC (2 years, 8 months ago) by alexk
Changed window creation to avoid using an obsolete feature `lower_bar`.

Revision 100371 - Directory Listing
Modified Fri May 12 11:21:10 2017 UTC (2 years, 8 months ago) by alexk
Fixed inline C code that was using EIF_IS_DIFFERENT_PROCESSOR instead of RTS_OS.
Removed unused locals.


Revision 100370 - Directory Listing
Modified Fri May 12 08:54:08 2017 UTC (2 years, 8 months ago) by alexk
Removed obsolete feature calls.
Cosmetics.


Revision 100369 - Directory Listing
Modified Fri May 12 08:23:37 2017 UTC (2 years, 8 months ago) by alexk
Removed an obsolete feature call.
Cosmetics.


Revision 100368 - Directory Listing
Modified Fri May 12 07:53:17 2017 UTC (2 years, 8 months ago) by alexk
Cosmetics.

Revision 100325 - Directory Listing
Modified Wed May 3 21:24:52 2017 UTC (2 years, 8 months ago) by jfiat
Updated or added timestamp to obsolete messages.
Removed a few obsolete calls.

Revision 100284 - Directory Listing
Modified Mon May 1 21:23:47 2017 UTC (2 years, 8 months ago) by manus
Define ccflags/mtccflags after optimize

This allows setting up ISE_CFLAGS to be taken into account while compiling our C libraries


Revision 100271 - Directory Listing
Modified Mon May 1 19:35:35 2017 UTC (2 years, 8 months ago) by manus
Do not define _WINSOCKAPI_

This would prevent inclusion of the winsock2 headers when using Curl.


Revision 100239 - Directory Listing
Modified Wed Apr 19 20:54:40 2017 UTC (2 years, 9 months ago) by javierv
Updated code, mmissing date in obsolete messages, put [2017-05-31] 
Fixed obsolete feature calls.



Revision 100149 - Directory Listing
Modified Wed Apr 12 00:37:51 2017 UTC (2 years, 9 months ago) by javierv
Fixed demo.ecf

Revision 100133 - Directory Listing
Modified Tue Apr 11 11:56:34 2017 UTC (2 years, 9 months ago) by jfiat
Added CMS_RESPONSE.request_url (...)
Update a few callers of CMS_RESPONSE.url (...).
Renamed the demo files using "server" instead of "demo".

Revision 100132 - Directory Listing
Modified Tue Apr 11 10:02:05 2017 UTC (2 years, 9 months ago) by jfiat
Improved theming for admin vs site.
 - Added $theme_path, $base_path
 - Added CMS_RESPONSE.module_resource_url (...) instead of using hardcoded "/module/" + name + ...
 - Use base_path rather than base_url  (note ROC CMS is not yet working with EWF standalone "base" url option)


Revision 100131 - Directory Listing
Modified Mon Apr 10 17:52:13 2017 UTC (2 years, 9 months ago) by jfiat
Removed temp user when activated.
Renamed local variable names related to temp users.

Revision 100130 - Directory Listing
Modified Mon Apr 10 17:33:38 2017 UTC (2 years, 9 months ago) by jfiat
Fixed new user insertion in SQL database.

Revision 100129 - Directory Listing
Modified Mon Apr 10 17:25:04 2017 UTC (2 years, 9 months ago) by jfiat
More information when error occurs during user registration.

Revision 100126 - Directory Listing
Modified Mon Apr 10 16:31:09 2017 UTC (2 years, 9 months ago) by jfiat
Simplified the ecf for the google search 2.0 module.


Revision 100125 - Directory Listing
Modified Mon Apr 10 15:59:14 2017 UTC (2 years, 9 months ago) by jfiat
Make user activation procedure safer.

Revision 100110 - Directory Listing
Modified Fri Apr 7 09:53:29 2017 UTC (2 years, 9 months ago) by jfiat
Added support for Google Custom Search Engine v2 .
Added support for masquerade module.

Revision 100079 - Directory Listing
Modified Thu Mar 30 17:13:19 2017 UTC (2 years, 9 months ago) by jfiat
Fixed published node access.

Revision 100077 - Directory Listing
Modified Thu Mar 30 16:19:43 2017 UTC (2 years, 9 months ago) by jfiat
Use an advanced maintenance filter that supports #allow-user: and #allow-ip: .


Revision 100075 - Directory Listing
Modified Thu Mar 30 15:40:05 2017 UTC (2 years, 9 months ago) by jfiat
- Now supports save/publish/unpublish control on nodes.
  Fixed access to non published nodes (and also for the related revisions if any)!
  Display on published blogs (except for admin, or author of the related blog).

Revision 100074 - Directory Listing
Modified Thu Mar 30 15:35:59 2017 UTC (2 years, 9 months ago) by jfiat
- Fixed video filter to support STRING_GENERAL .
- JSON_CONFIG.item("") now returns the value itself (can be used to get all keys of specific object).

Revision 100073 - Directory Listing
Modified Thu Mar 30 12:45:34 2017 UTC (2 years, 9 months ago) by jfiat
Always set the content type when it is known for node view.
Fixed installation access permission using `administration.installation_access` instead of previous `admin.installation_access`.
Implemented custom cms format, and associated administration pages.
  Applied to existing filter and format.
  Added embedded_video filter (initially contribute by Javier Velilla).
Display the full url for uploaded files via the CMS_FILES_MODULE (and better url for removal operation).

Revision 100053 - Directory Listing
Modified Fri Mar 24 20:57:42 2017 UTC (2 years, 10 months ago) by jfiat
Better handling of path or location for administration links.


Revision 100051 - Directory Listing
Modified Fri Mar 24 18:25:11 2017 UTC (2 years, 10 months ago) by jfiat
Splitted administration and normal web site interfaces.
This optimises a bit the routing map, and make cleaner separation.
Make the base url for admin pages customizable via `administration.base_path` variable in cms.ini
    note: could be /admin, /roc-admin, or ..
It is possible to have a specific theme for administration via the variable "administration.admin" .


Revision 100027 - Directory Listing
Modified Thu Mar 23 13:27:54 2017 UTC (2 years, 10 months ago) by jfiat
Changed cache location.
Made cache clearing safer with rescue clauses.

Revision 100017 - Directory Listing
Modified Wed Mar 22 09:25:41 2017 UTC (2 years, 10 months ago) by jfiat
Fixed code by checking for file existence before checking if this is a directory.

Revision 100013 - Directory Listing
Modified Wed Mar 22 08:42:19 2017 UTC (2 years, 10 months ago) by jfiat
Fixed filter initialization for roc cms systems.

Revision 99977 - Directory Listing
Modified Fri Mar 17 11:40:52 2017 UTC (2 years, 10 months ago) by jfiat
Converted to SCOOP capable.
(note: as for EiffelStore, ABEL is designed to be executed on the same thread, however one can have one abel connection per thread).

Revision 99976 - Directory Listing
Modified Fri Mar 17 10:25:18 2017 UTC (2 years, 10 months ago) by jfiat
Fixed cms execution initialization (avoid setting up twice router and filter).

Revision 99957 - Directory Listing
Modified Fri Mar 10 20:02:51 2017 UTC (2 years, 10 months ago) by jfiat
Updated ecf files to fix xsi:schemaLocation or other minor changes.

Revision 99946 - Directory Listing
Modified Thu Mar 9 20:51:11 2017 UTC (2 years, 10 months ago) by javierv
Updated zlib configuration file to use Zlib from C_library.

Revision 99937 - Directory Listing
Modified Wed Mar 8 20:05:54 2017 UTC (2 years, 10 months ago) by jfiat
Support http caching on sitemap.xml .

Revision 99936 - Directory Listing
Modified Wed Mar 8 09:56:46 2017 UTC (2 years, 10 months ago) by jfiat
Added support for directory output email notification.
Removed obsolete calls.

Revision 99932 - Directory Listing
Modified Mon Mar 6 20:35:14 2017 UTC (2 years, 10 months ago) by jfiat
Better control on path alias.
  If user has permission to edit, provide a text input, otherwise just a label if path are required.
Reviewed html generated for taxonomy field in node edit form.
Improved the blog entries list by providing (if permitted) link to blog entry creation, and link to the user entries or all entries.


Revision 99921 - Directory Listing
Modified Fri Mar 3 17:55:51 2017 UTC (2 years, 10 months ago) by jfiat
Protected again sql error.
Return better sql error message for sqlite3 storage. 

Revision 99912 - Directory Listing
Modified Fri Mar 3 12:38:42 2017 UTC (2 years, 10 months ago) by jfiat
fixed wrong initial offset.

Revision 99910 - Directory Listing
Modified Fri Mar 3 12:20:13 2017 UTC (2 years, 10 months ago) by jfiat
Added feed ordered by publication on /nodes/{type}/feed.

Revision 99903 - Directory Listing
Modified Fri Mar 3 10:29:03 2017 UTC (2 years, 10 months ago) by jfiat
(Breaking change) Added notion of author (owner) and editor to allow the editing of node by non owner users.
  The table nodes and node_revisions have an extra "editor" field.
  Update the sql table with:
      ALTER TABLE nodes ADD editor INTEGER ;
      UPDATE nodes SET editor = author;
      ALTER TABLE node_revisions ADD editor INTEGER ;
      UPDATE node_revisions SET editor = author;



Revision 99902 - Directory Listing
Modified Fri Mar 3 10:24:24 2017 UTC (2 years, 10 months ago) by jfiat
Improved the user selection for messaging module.

Revision 99900 - Directory Listing
Modified Thu Mar 2 15:25:17 2017 UTC (2 years, 10 months ago) by jfiat
Display associated tags in blogs listing.

Revision 99893 - Directory Listing
Modified Wed Mar 1 15:42:16 2017 UTC (2 years, 10 months ago) by jfiat
Fixed node preview functionality.

Revision 99891 - Directory Listing
Modified Wed Mar 1 14:40:20 2017 UTC (2 years, 10 months ago) by jfiat
Fixed CMS_USER.creation_date retrieval.
Improved the admin users listing.


Revision 99882 - Directory Listing
Modified Wed Mar 1 11:42:01 2017 UTC (2 years, 10 months ago) by jfiat
Support profile_firstname and profile_lastname value when importing user records.


Revision 99879 - Directory Listing
Modified Wed Mar 1 10:12:12 2017 UTC (2 years, 10 months ago) by jfiat
Improved node management.
 - List node by node types
 - fixed the trash/restore/delete workflow
Added messaging module to send message to cms users (by email for now).
Added early protection for cache, export and import functionalities.
Added default path alias for node.
Fixed set path alias, when alias already exists in the history.


Revision 99820 - Directory Listing
Modified Mon Feb 13 16:36:13 2017 UTC (2 years, 11 months ago) by manus
Fix missing svn:eol-style native property


Revision 99819 - Directory Listing
Modified Mon Feb 13 16:34:43 2017 UTC (2 years, 11 months ago) by manus
Fix missing svn:eol-style native property


Revision 99818 - Directory Listing
Modified Fri Feb 10 18:05:09 2017 UTC (2 years, 11 months ago) by jfiat
Wrap with double quote only if term has a comma.

Revision 99815 - Directory Listing
Modified Fri Feb 10 12:43:42 2017 UTC (2 years, 11 months ago) by jfiat
Added sitemap support on node module.
code cleaning.

Revision 99814 - Directory Listing
Modified Fri Feb 10 11:36:08 2017 UTC (2 years, 11 months ago) by jfiat
Added support for sitemap.xml .
html escape the cms_search_query variable in demo example page template.
Removed unwanted file.

Revision 99805 - Directory Listing
Modified Wed Feb 8 22:16:26 2017 UTC (2 years, 11 months ago) by jfiat
Removed obsolete features:
  - CMS_RESPONSE.add_variable (..)
  - CMS_MODULE.register_hooks (..)
And related code.

Revision 99804 - Directory Listing
Modified Wed Feb 8 22:04:35 2017 UTC (2 years, 11 months ago) by jfiat
Added finer control on path_alias.
  - added a permission to edit path alias.
  - added an admin handler to manage path aliases.
When path alias is changed on node, always keep previous path alias.
  (can be unset from the related admin section).
CMS_API.storage.path_aliases returns the list of path aliases (recents aliases come first).

Revision 99802 - Directory Listing
Modified Wed Feb 8 18:51:55 2017 UTC (2 years, 11 months ago) by jfiat
Updated google search module to keep the search input using an alter value.
Updated feature description.

Revision 99801 - Directory Listing
Modified Wed Feb 8 18:49:45 2017 UTC (2 years, 11 months ago) by jfiat
Synchronized with main EWF project.

Revision 99800 - Directory Listing
Modified Wed Feb 8 18:41:52 2017 UTC (2 years, 11 months ago) by jfiat
Allow user to edit its own profile name.

Revision 99799 - Directory Listing
Modified Wed Feb 8 17:43:34 2017 UTC (2 years, 11 months ago) by jfiat
Make sure to use the user profile name whenever it is possible.

Revision 99798 - Directory Listing
Modified Wed Feb 8 15:36:44 2017 UTC (2 years, 11 months ago) by jfiat
Fixed demo.ecf .

Revision 99797 - Directory Listing
Modified Wed Feb 8 11:21:04 2017 UTC (2 years, 11 months ago) by jfiat
Fixed page module installation procedure based on node module.
cosmetic

Revision 99795 - Directory Listing
Modified Tue Feb 7 17:57:08 2017 UTC (2 years, 11 months ago) by jfiat
Added CMS_CORE_MODULE which is the mandatory module for ROC CMS.
Added CMS_USER.profile_name .
Improved module managements with install vs enable.
  - enabled/disabled status can also be stored in database.
Install procedure do not install all available modules anymore.

Revision 99789 - Directory Listing
Modified Mon Feb 6 15:17:01 2017 UTC (2 years, 11 months ago) by jfiat
Removed file committed by error.

Revision 99788 - Directory Listing
Modified Mon Feb 6 10:26:18 2017 UTC (2 years, 11 months ago) by jfiat
Added possibility to change its own username.

Revision 99785 - Directory Listing
Modified Wed Feb 1 17:54:18 2017 UTC (2 years, 11 months ago) by jfiat
Fixed tests code that was not compliant with search user by email signature.

Revision 99784 - Directory Listing
Modified Wed Feb 1 17:49:59 2017 UTC (2 years, 11 months ago) by jfiat
Removed useless class cms_node_storage_sql_blog_extension.e .

Revision 99781 - Directory Listing
Modified Wed Feb 1 09:04:55 2017 UTC (2 years, 11 months ago) by jfiat
Removed unused local variables.

Revision 99777 - Directory Listing
Modified Tue Jan 31 17:46:56 2017 UTC (2 years, 11 months ago) by jfiat
Display import link from admin page.

Revision 99775 - Directory Listing
Modified Tue Jan 31 15:34:25 2017 UTC (2 years, 11 months ago) by jfiat
better syntax formating for SQL query related to comments module.

Revision 99772 - Directory Listing
Modified Fri Jan 27 22:56:38 2017 UTC (2 years, 11 months ago) by jfiat
Better log message during import.
Fixed SQL storage for comments.

Revision 99770 - Directory Listing
Modified Fri Jan 27 22:16:01 2017 UTC (2 years, 11 months ago) by jfiat
When importing, do not change modification date.
Display /nodes sorted by changed date.
Improved the import form, and report wrong import folder. Only import from folder inside site/import for security reason.


Revision 99768 - Directory Listing
Modified Fri Jan 27 18:20:25 2017 UTC (2 years, 11 months ago) by jfiat
Remove %R from wikitext source, otherwise this may cause parsing issue.
Updated blog design to use ?page=123&size=456.
Use  /blog/{user} url to list blog from a specific user.
Fixed bad xhtml rendering (missing closing tag).

Revision 99767 - Directory Listing
Modified Fri Jan 27 18:00:20 2017 UTC (2 years, 11 months ago) by jfiat
Extracted page support from cms_node_module, and add a proper CMS_PAGE_MODULE.
   - now, the CMS_PAGE_MODULE has to be declared in the related CMS_SETUP via CMS_EXECUTION.
   (See demo for example)
    
Improved the export facilities.
  Implemented blog and page export.
Added import facilities.
  Implemented blog and page import.
  
Improved node revision web interface (allow to edit a past revision, in order to restore it as latest revisionm i.e current).
Removed specific tag from blog module, and reuse the taxonomy module for that purpose.

Added WIKITEXT module that provide a WIKITEXT_FILTER, so now we can have wikitext content.
   - for now, no support for wiki links such as [[Foobar]].

Added support for user, user_roles, page, blog export and import.
Added basic support for comments, for now mainly viewing comments from database (no submission forms yet).
Added first simple wikitext filter (render wikitext content as xhtml).
Remove extra argument for the creation procedure of some modules (node and wikitext) as this is useless.
Ensure response content type is text/html with utf-8 charset.

Revision 99691 - Directory Listing
Modified Mon Jan 2 17:12:20 2017 UTC (3 years ago) by jfiat
Cosmetic (white spaces).

Revision 99686 - Directory Listing
Modified Wed Dec 21 14:17:16 2016 UTC (3 years, 1 month ago) by jfiat
Added the possibility to have feed aggregation as embedded view using "?view=embedded".
Convenient to include the feed aggregation in a page with for instance jquery load(..) function.

Revision 99685 - Directory Listing
Modified Mon Dec 19 17:03:11 2016 UTC (3 years, 1 month ago) by jfiat
Use .json extension for the exported blog post data.

Revision 99639 - Directory Listing
Modified Tue Dec 6 11:56:52 2016 UTC (3 years, 1 month ago) by jfiat
Cleaned zlib ecf files.

Revision 99611 - Directory Listing
Modified Fri Dec 2 19:29:37 2016 UTC (3 years, 1 month ago) by manus
Remove SCOOP capability support

As the library does not compile in SCOOP mode yet


Revision 99610 - Directory Listing
Modified Fri Dec 2 19:28:00 2016 UTC (3 years, 1 month ago) by manus
Remove the thread library that was not used and prevented compilation with new capability scheme


Revision 99609 - Directory Listing
Modified Fri Dec 2 19:26:17 2016 UTC (3 years, 1 month ago) by manus
Made code void-safe


Revision 99597 - Directory Listing
Modified Fri Dec 2 18:05:17 2016 UTC (3 years, 1 month ago) by manus
Revert rev#99546 by adding back library_target

This is important as our goal is to collect all the testing ECFs
in one project under Src/testing and run all our available tests
in a single project.


Revision 99574 - Directory Listing
Modified Wed Nov 30 21:12:38 2016 UTC (3 years, 1 month ago) by jfiat
New config file for demo example (is pertinent for standalone launcher). 
Custom block in demo, is included as raw (i.e without wrapping div element).

Revision 99573 - Directory Listing
Modified Wed Nov 30 21:10:40 2016 UTC (3 years, 1 month ago) by jfiat
Make favicon.ico expires after 24 hours.
Use new `append_filter` in `setup_filter`.

Revision 99572 - Directory Listing
Modified Wed Nov 30 21:08:51 2016 UTC (3 years, 1 month ago) by jfiat
Added feed aggregations ids.
    This is used to avoid computing the whole feed aggregation to decide if a feed block is included or not.
Added category support for feed aggregation.
Added summary and categories to recent change item.
Integrated taxonomy in node module when computing recent changes.


Revision 99571 - Directory Listing
Modified Wed Nov 30 21:06:17 2016 UTC (3 years, 1 month ago) by jfiat
Use default http client (instead of specific libcurl http client).

Revision 99570 - Directory Listing
Modified Wed Nov 30 21:03:57 2016 UTC (3 years, 1 month ago) by jfiat
Fixed typo "We have sent you .." (instead of ... send ...).
Make sure to keep site_destination set in login form, so that the user is redirected to previous location.


Revision 99569 - Directory Listing
Modified Wed Nov 30 20:58:22 2016 UTC (3 years, 1 month ago) by jfiat
Added sample ssl key and crt file for demo example.

Revision 99568 - Directory Listing
Modified Wed Nov 30 20:57:05 2016 UTC (3 years, 1 month ago) by jfiat
Use new roc tool installation based on roc config file for the demo example.

Revision 99567 - Directory Listing
Modified Wed Nov 30 20:54:52 2016 UTC (3 years, 1 month ago) by jfiat
    Added support for configuration to Roc.
    The installer can now use a roc.cfg file to define the various needed modules.
    Format:
    { "name": "demo", "location": ".",
      "modules": {
          "foo": { "location": "path-to-source-of-module-foo"; },
          "bar": { "location": "path-to-source-of-module-bar"; }
      }
    }

Revision 99547 - Directory Listing
Modified Mon Nov 28 14:18:06 2016 UTC (3 years, 1 month ago) by jfiat
Assertions should be disabled by default in all EiffelStudio libraries. 
A user would use "Supplier Precondition" setting to check that all input are correct.

Revision 99546 - Directory Listing
Modified Mon Nov 28 13:44:48 2016 UTC (3 years, 1 month ago) by jfiat
Removed library_target from test and app projects to avoid including them into potential library (in Add Library dialog).

Revision 99527 - Directory Listing
Modified Fri Nov 25 17:22:41 2016 UTC (3 years, 2 months ago) by jfiat
Make sure CMS page has an HTML title.

Revision 99526 - Directory Listing
Modified Fri Nov 25 17:21:17 2016 UTC (3 years, 2 months ago) by jfiat
Made upload file safer if file could not be moved.

Revision 99525 - Directory Listing
Modified Fri Nov 25 17:20:30 2016 UTC (3 years, 2 months ago) by jfiat
Removed obsolete nino usage.

Revision 99524 - Directory Listing
Modified Fri Nov 25 15:29:28 2016 UTC (3 years, 2 months ago) by jfiat
Removed unwanted dependency on EiffelThread.

Revision 99523 - Directory Listing
Modified Fri Nov 25 15:22:19 2016 UTC (3 years, 2 months ago) by jfiat
Converted to latest ecf version 1-16-0 supporting notion of capability.

(not SCOOP capable for now, due to bad handling of potential separate value from `TUPLE.item`. Also a few once references that could be separate)

Revision 99521 - Directory Listing
Modified Fri Nov 25 15:01:29 2016 UTC (3 years, 2 months ago) by jfiat
Changed assertions of libraries to keep only supplier_precondition="true".
Removed wrong is_obsolete_routine_type usage.
Cleaned the `<options.../>` informations.

Revision 99498 - Directory Listing
Modified Wed Nov 23 22:59:01 2016 UTC (3 years, 2 months ago) by jfiat
Converted to latest ecf version 1-16-0 supporting notion of capability.



Revision 99491 - Directory Listing
Modified Wed Nov 23 21:43:30 2016 UTC (3 years, 2 months ago) by jfiat
Converted to latest ecf version 1-16-0 supporting notion of capability.



Revision 99488 - Directory Listing
Modified Wed Nov 23 21:19:36 2016 UTC (3 years, 2 months ago) by jfiat
Converted $ISE_LIBRARY/unstable/ projects to latest ecf version 1-16-0 supporting notion of capability.
Replaced the two ecfs with a single one, and redirect the ___-safe.ecf to the normal ___.ecf file.

Also update some project to new routine interface, and better void-safety when possible.

Revision 99470 - Directory Listing
Modified Tue Nov 22 09:52:59 2016 UTC (3 years, 2 months ago) by alexk
Used updated ECF format with capabilities specified in a dedicated element.

Revision 99468 - Directory Listing
Modified Mon Nov 21 14:26:32 2016 UTC (3 years, 2 months ago) by jfiat
Added One Time Password (OTP) computations (Hash OTP, and Time OTP).
As used by Google Authenticator and similar to have two-step authentication.

For now, included BASE64, BASE32 and BYTE_ARRAY_CONVERTER in hidden cluster as they may be moved to other lib.

Revision 99441 - Directory Listing
Modified Wed Nov 16 15:40:49 2016 UTC (3 years, 2 months ago) by jfiat
Improved reuse of hmac and sha* objects thanks to better `reset` implementation.
  Before it was easy to get fooled if you debug the code and evaluate the `digest` function.
  Now it is safer, and one can reuse the same hmac object for multiple hmac digest computing.
Note: it would be a good practice to call `reset` once you are done with a hmac object, this way the message hash is wiped out (and clean memory).


Revision 99367 - Directory Listing
Modified Tue Nov 1 13:52:24 2016 UTC (3 years, 2 months ago) by jfiat
Made a few libraries ecf compilable in scoop concurrency mode by default.

Revision 99363 - Directory Listing
Modified Mon Oct 31 15:31:12 2016 UTC (3 years, 2 months ago) by jfiat
added dependencies to libcrypto on non Windows platform.

Revision 99345 - Directory Listing
Modified Fri Oct 28 17:00:10 2016 UTC (3 years, 2 months ago) by javierv
Zlib basic_functions issue: added missing class.

Revision 99343 - Directory Listing
Modified Fri Oct 28 01:29:03 2016 UTC (3 years, 2 months ago) by javierv
Update deflate algorithm to use full_flush and block flush types.


Revision 99322 - Directory Listing
Modified Thu Oct 20 14:27:35 2016 UTC (3 years, 3 months ago) by javierv
Updated and fix issues with zlib
Add support to use deflate (delateInit2) and inflate(inflateInit2) feature with different options.
Fixed issues with STRING compress and uncompress process.

Revision 99308 - Directory Listing
Modified Wed Oct 19 11:19:32 2016 UTC (3 years, 3 months ago) by jfiat
Added `unset_...` features.
Fixed a typo in comment.

Revision 99278 - Directory Listing
Modified Tue Oct 11 15:05:33 2016 UTC (3 years, 3 months ago) by javierv
Update Zlib library to enable the use set different flush modes. 

Revision 99276 - Directory Listing
Modified Mon Oct 10 19:59:12 2016 UTC (3 years, 3 months ago) by jfiat
Updated to follow recent changes on EiffelNet.
Also now {SSL}.write (..) return the number of written bytes, or error in case or network error.
Improved error handling.

Revision 99184 - Directory Listing
Modified Thu Sep 22 13:55:50 2016 UTC (3 years, 4 months ago) by jfiat
Split get and post handling for file upload request.

Revision 99182 - Directory Listing
Modified Thu Sep 22 11:48:45 2016 UTC (3 years, 4 months ago) by jfiat
Allow advanced upload, and also basic html upload, in case the dropzone.js has trouble.

Revision 99181 - Directory Listing
Modified Thu Sep 22 09:24:32 2016 UTC (3 years, 4 months ago) by jfiat
Set the uploaded file path to site/temp by default. Can be set via configuration with "temp-dir" variable.
(This is important, otherwise it uses the current working directory, but for fcgi, this is not always obvious where it is.)

Revision 99150 - Directory Listing
Modified Fri Sep 16 18:25:48 2016 UTC (3 years, 4 months ago) by jfiat
Fixed typo "We have sent you .." (instead of ... send ...).

Revision 99107 - Directory Listing
Modified Thu Aug 11 12:08:29 2016 UTC (3 years, 5 months ago) by javierv
Update ZLIB compress/uncompress interfaces to let the user define the chunk size, by default chunk size is: 16384.
Clean Code: refactor renaming.

Revision 99056 - Directory Listing
Modified Tue Jul 26 13:01:18 2016 UTC (3 years, 6 months ago) by javierv
Fixed compilation issue with Zlib test source code.

Revision 99055 - Directory Listing
Modified Mon Jul 25 15:25:34 2016 UTC (3 years, 6 months ago) by javierv
Fixed issue with Zlib inflate returning a buffer error.
Cosmetic: Initial refactor applying Eiffel Style.

Revision 99001 - Directory Listing
Modified Thu Jul 7 23:11:15 2016 UTC (3 years, 6 months ago) by manus
Fix missing include path to eif_openssl.h on non-Windows platform.

Remove useless /usr/include include path as this is pretty much a given on non-Windows platform.


Revision 98863 - Directory Listing
Modified Fri Jun 3 18:52:41 2016 UTC (3 years, 7 months ago) by jfiat
Added category per feed location to provide more control than just category on the final aggregation feed.

Revision 98850 - Directory Listing
Modified Wed Jun 1 15:08:15 2016 UTC (3 years, 7 months ago) by jfiat
Propagate db error back to front page.

Revision 98848 - Directory Listing
Modified Wed Jun 1 11:50:07 2016 UTC (3 years, 7 months ago) by jfiat
Get GCSE module accepts /gcse or /gcse/ .

Revision 98824 - Directory Listing
Modified Mon May 23 21:09:15 2016 UTC (3 years, 8 months ago) by jfiat
Fixed ecf files for example and testing project of bzip2 library.

Revision 98823 - Directory Listing
Modified Mon May 23 20:57:25 2016 UTC (3 years, 8 months ago) by jfiat
fixed bzip2 ecf files.

Revision 98818 - Directory Listing
Modified Mon May 23 19:20:54 2016 UTC (3 years, 8 months ago) by jfiat
Avoid using old path for http_authorization.

Revision 98797 - Directory Listing
Modified Wed May 18 10:15:28 2016 UTC (3 years, 8 months ago) by jfiat
Fixed session logout by setting expiration date in the past and empty content.


Revision 98796 - Directory Listing
Modified Wed May 18 09:56:49 2016 UTC (3 years, 8 months ago) by jfiat
Make it compilable with version before 16.05.

Revision 98795 - Directory Listing
Modified Wed May 18 09:05:07 2016 UTC (3 years, 8 months ago) by jfiat
Fixed role changes for an user.
List user roles for each users in the admin list of users.

Revision 98785 - Directory Listing
Modified Tue May 17 11:42:53 2016 UTC (3 years, 8 months ago) by jfiat
Updated various copyright value in code.

Revision 98672 - Directory Listing
Modified Fri May 6 07:27:03 2016 UTC (3 years, 8 months ago) by alexk
Replaced calls to `index_set' with calls to `lower' and `upper'.

Revision 98667 - Directory Listing
Modified Fri May 6 06:56:07 2016 UTC (3 years, 8 months ago) by alexk
Replaced indirect iterations over `index_set' with direct iterations over target containers.

Revision 98654 - Directory Listing
Modified Mon May 2 08:14:39 2016 UTC (3 years, 8 months ago) by jfiat
use native EOL for license.lic

Revision 98643 - Directory Listing
Modified Wed Apr 27 14:04:18 2016 UTC (3 years, 9 months ago) by jfiat
Decode url for redirection purpose during authentication.

Revision 98620 - Directory Listing
Modified Wed Apr 13 21:13:48 2016 UTC (3 years, 9 months ago) by jfiat
Do not try to redirect to previous page or destination on logout!

Revision 98618 - Directory Listing
Modified Wed Apr 13 10:52:51 2016 UTC (3 years, 9 months ago) by jfiat
Improved session auth module routing.

Revision 98616 - Directory Listing
Modified Wed Apr 13 08:59:18 2016 UTC (3 years, 9 months ago) by jfiat
Fixed "destination" support when login.
(i.e when visitor click on signin from page A, one he is signed, he will be redirected to the initial page A.)


Revision 98571 - Directory Listing
Modified Fri Mar 18 22:37:47 2016 UTC (3 years, 10 months ago) by jfiat
Added scored criteria.

Revision 98555 - Directory Listing
Modified Wed Mar 2 18:03:36 2016 UTC (3 years, 10 months ago) by alexk
Added `lower' and `upper' to {READABLE_INDEXABLE} to be used instead of `index_set' by iteration cursor.
Marked `{READABLE_INDEXABLE}.index_set' as obsolete in favor of `lower' and `upper' to avoid object creation, especially when implementing external cursors for iterative forms of a loop.
Provided implementation of `index_set' in {READABLE_INDEXABLE} so that it can be removed in descendants.
Made `lower_defined' and `upper_defined' in {INTEGER_INTERVAL} always True because this was the case for all created objects and clients almost never checked if boundaries were defined.


Revision 98544 - Directory Listing
Modified Fri Feb 26 08:14:30 2016 UTC (3 years, 11 months ago) by manus
Fix typo preventing C compilation under the MinGW C compiler


Revision 98532 - Directory Listing
Modified Thu Feb 18 23:56:19 2016 UTC (3 years, 11 months ago) by jfiat
Added support for CMS_BLOCK.is_raw in custom block module.

Revision 98530 - Directory Listing
Modified Thu Feb 18 23:15:42 2016 UTC (3 years, 11 months ago) by jfiat
Updated CMS_HOOK_BLOCK, to provide a better block_identifiers (CMS_RESPONSE): detachable ITERABLE [READABLE_STRING_8] query, to be implemented by CMS_HOOK_RESPONSE_BLOCK descendants.
Added CONFIG_READER.table_keys: detachable LIST [READABLE_STRING_32].
Added logs admin viewer.
Added CMS_SETUP.is_debug: BOOLEAN  (see cms.ini   site.debug setting)


Revision 98528 - Directory Listing
Modified Thu Feb 18 15:28:04 2016 UTC (3 years, 11 months ago) by jfiat
Restored previous template_block* function signatures and made them obsolete.
Added smarty_template_block* functions as new recommended functions.


Revision 98527 - Directory Listing
Modified Thu Feb 18 15:16:40 2016 UTC (3 years, 11 months ago) by jfiat
Reuse improved CMS_HOOK_BLOCK_HELPER to help creation of block templates.
Fixed typo in basic auth login form.

Revision 98524 - Directory Listing
Modified Thu Feb 18 11:49:56 2016 UTC (3 years, 11 months ago) by jfiat
Added functions to get link from menu or link composite.
Improved management menu, but using sub menu.

Revision 98520 - Directory Listing
Modified Wed Feb 17 15:09:09 2016 UTC (3 years, 11 months ago) by jfiat
Updated auth registration form.

Revision 98519 - Directory Listing
Modified Wed Feb 17 14:21:52 2016 UTC (3 years, 11 months ago) by jfiat
Protected cache, export and feeds menu.

Revision 98518 - Directory Listing
Modified Wed Feb 17 11:31:46 2016 UTC (3 years, 11 months ago) by jfiat
Added files module, with for now, a focus on upload files facility.
    
Contribution from Fabian Murer, as part of an ETH student project.
Supervised, refactorized and merged by Jocelyn Fiat.
    
Signed-off-by: Fabian Murer <fmurer@student.ethz.ch>
Signed-off-by: Jocelyn Fiat <git@djoce.net>

Revision 98505 - Directory Listing
Modified Fri Feb 12 08:02:26 2016 UTC (3 years, 11 months ago) by jfiat
Restored original iron package name to "roc".

Revision 98482 - Directory Listing
Modified Wed Feb 3 23:02:06 2016 UTC (3 years, 11 months ago) by jfiat
Fixed new account admin message.
  - the rejection url was badly formatted in the template.


Revision 98481 - Directory Listing
Modified Wed Feb 3 22:53:03 2016 UTC (3 years, 11 months ago) by jfiat
Fixed auth email messages code and template.

Revision 98480 - Directory Listing
Modified Wed Feb 3 22:35:01 2016 UTC (3 years, 11 months ago) by jfiat
Fixed auth mail template text and code.

Revision 98478 - Directory Listing
Modified Wed Feb 3 22:13:05 2016 UTC (3 years, 11 months ago) by jfiat
Do not set destination query parameter to any account/auth url.
Set "site_sign_in_url" and "site_sign_out_url" as variables (so it could be used by template).

Revision 98475 - Directory Listing
Modified Wed Feb 3 21:07:52 2016 UTC (3 years, 11 months ago) by jfiat
Updated obsolete CMS_REQUEST_UTIL to ease changes for existing projects.

Revision 98474 - Directory Listing
Modified Wed Feb 3 21:01:52 2016 UTC (3 years, 11 months ago) by jfiat
Added CMS_API.request: WSF_REQUEST to ease dev of ROC CMS code.
  - Removed CMS_REQUEST_UTIL
  - centralize a few request related code into CMS_API
Added CMS_API.user, CMS_API.set_user (CMS_USER), ... and user related routines.

Refactored Auth related code
  - added various abstractions to factorize implementation and harmonize solutions.
  - revisited the logout strategy.
  - updated the account info page, and remove info user should not care about.
  - simplified the process, and encourage auth module to follow same design.

Improved Auth related module implementation by having a way to change settings like token, max age.
  - use CMS_SETUP.site_id and related "auth.$module.token" ... configuration values.
  - removed related CMS_..._CONSTANTS classes.

For auth session module, use auth_session as table name, and use VARCHAR(64).

Added CMS_LINK helper routines to modify the related query string.
Removed CMS_USER.profile (and related routines)
   - It was not used so far.
   - it will probably a specific module later, if needed.

Update various module to avoid fetching user from sql directly, and let this task to CMS_USER_API.

Removed CMS_NODE_API.node_author (a_node: CMS_NODE): detachable CMS_USER,
   - as the info is already in CMS_NODE.author

Added CMS_RESPONSE.redirection_delay, if ever one code want to redirect after a few seconds.
Added the request uri info to the not found cms response.


Fixed various CMS_MODULE.install, by not marked module installed if an error occurred!

Extracted sql from blog module, and store it under site/scripts/install.sql .
Renamed a few $modulename.sql as install.sql


Revision 98460 - Directory Listing
Modified Mon Feb 1 22:31:38 2016 UTC (3 years, 11 months ago) by jfiat
Updated package.iron files for Src/unstable/library.


Revision 98448 - Directory Listing
Modified Wed Jan 27 17:30:58 2016 UTC (3 years, 11 months ago) by jfiat
    Fixed various CMS_MODULE.install, by not marked module installed if an error occurred!
    Improved Auth related module implementation by having a way to change settings like token, max age.
      - use CMS_SETUP.site_id and related "auth.$module.token" ... configuration values.
      - removed related CMS_..._CONSTANTS classes.
    
    For auth session module, use auth_session as table name, and use VARCHAR(64).
    Extracted sql from blog module, and store it under site/scripts/install.sql .
    Renamed a few $modulename.sql as install.sql

Revision 98439 - Directory Listing
Modified Mon Jan 25 08:31:32 2016 UTC (4 years ago) by jfiat
Fixed postcondition "subject_set" of `match_it' by comparing strings content instead of references.

Issue reported by David Jenkins.

Revision 98430 - Directory Listing
Modified Fri Jan 22 20:51:35 2016 UTC (4 years ago) by jfiat
Added CMS_STRING_EXPANDER.
      For now with basic implementation.
      It will be improved later
    
Added SEO related attribute in CMS_RESPONSE.
Added improved Contact module.
Added basic SEO module.
Updated to new routine type.

Revision 98429 - Directory Listing
Modified Fri Jan 22 14:41:49 2016 UTC (4 years ago) by alexk
Marked the library as completely void-safe and removed settings that are set by default.
Updated code to follow the convention that "attached-by-default" is true.


Revision 98428 - Directory Listing
Modified Fri Jan 22 14:09:05 2016 UTC (4 years ago) by alexk
Marked the library as completely void-safe and removed settings that are set by default.

Revision 98427 - Directory Listing
Modified Fri Jan 22 14:07:48 2016 UTC (4 years ago) by alexk
Removed unused locals.
Replaced a call to an obsolete function with a call to a non-obsolete one.


Revision 98426 - Directory Listing
Modified Fri Jan 22 13:54:08 2016 UTC (4 years ago) by alexk
Removed unused locals.

Revision 98422 - Directory Listing
Modified Fri Jan 22 10:37:45 2016 UTC (4 years ago) by alexk
Marked the library as completely void-safe.

Revision 98421 - Directory Listing
Modified Fri Jan 22 10:36:49 2016 UTC (4 years ago) by alexk
Removed unused locals.

Revision 98420 - Directory Listing
Modified Fri Jan 22 10:32:58 2016 UTC (4 years ago) by alexk
Marked the library as completely void-safe.

Revision 98419 - Directory Listing
Modified Fri Jan 22 10:24:56 2016 UTC (4 years ago) by alexk
Removed unused locals.

Revision 98418 - Directory Listing
Modified Fri Jan 22 10:05:19 2016 UTC (4 years ago) by alexk
Marked the library as completely void-safe.

Revision 98417 - Directory Listing
Modified Fri Jan 22 10:04:50 2016 UTC (4 years ago) by alexk
Replaced calls to an obsolete function with calls to a non-obsolete one.

Revision 98416 - Directory Listing
Modified Fri Jan 22 10:03:36 2016 UTC (4 years ago) by alexk
Removed unused variable.

Revision 98415 - Directory Listing
Modified Fri Jan 22 10:02:46 2016 UTC (4 years ago) by alexk
Marked the library as completely void-safe.

Revision 98414 - Directory Listing
Modified Fri Jan 22 10:01:22 2016 UTC (4 years ago) by alexk
Removed unused variable.

Revision 98413 - Directory Listing
Modified Fri Jan 22 10:00:12 2016 UTC (4 years ago) by alexk
Made feature `tag' generally available to avoid CAT-call redeclaration.

Revision 98407 - Directory Listing
Modified Fri Jan 22 08:22:12 2016 UTC (4 years ago) by alexk
Marked libraries as completely void-safe and removed settings that are set by default.

Revision 98404 - Directory Listing
Modified Tue Jan 19 15:20:08 2016 UTC (4 years ago) by jfiat
Eiffel code and ECFs update to support new agent notations.
Accepts /account and /account/ .
Code cleaning.

Revision 98403 - Directory Listing
Modified Tue Jan 19 11:29:37 2016 UTC (4 years ago) by jfiat
accept /account/ in addition to /account .

Revision 98400 - Directory Listing
Modified Mon Jan 18 14:06:04 2016 UTC (4 years ago) by jfiat
Updated code with new agent signature.
CMS_USER.email is now a STRING_8 instead of _32.

Revision 98398 - Directory Listing
Modified Fri Jan 15 17:42:57 2016 UTC (4 years ago) by jfiat
Integrated new registration workflow.
Added optional "mailer.subject_prefix" configuration item.
Added CMS_SETUP.utf_8_site_name for convenience.
Fixed a few potential unicode issues.
Fixed various typos.
Removed unused files.

Revision 98368 - Directory Listing
Modified Fri Jan 8 21:32:05 2016 UTC (4 years ago) by jfiat
Updated email messaging of Auth modules to use the CMS_API.process_email (..) system.
       as a consequence, removed usage of email_service library.
Updated the meaning for site.email to be sender email addressed.
Added notification.email to set the email address that will received system email notification.



Revision 98364 - Directory Listing
Modified Wed Jan 6 18:35:40 2016 UTC (4 years ago) by jfiat
Improved criteria factory description|help output.

Revision 98363 - Directory Listing
Modified Wed Jan 6 17:14:39 2016 UTC (4 years ago) by jfiat
Updated description.
Fixed usage of "+" token.
Made syntax of criteria string expression more flexible  (allows   "and" followed by "+..." and similar).
Added autotest cases.
Added simple example.
Updated ecf to complete void-safety.

Revision 98285 - Directory Listing
Modified Fri Dec 18 14:32:14 2015 UTC (4 years, 1 month ago) by jfiat
Fixed ROC CMS library compilation.

Revision 98279 - Directory Listing
Modified Thu Dec 17 13:34:17 2015 UTC (4 years, 1 month ago) by manus
Eiffel code and ECFs update to support new agent notations.

Use the syntax_updater to use the new declaration of agent types.
No hand modification of the Eiffel code was necessary. The summary is:
- 251 ECFs modified
- 894 Eiffel classes updated

For ECFs there were a few problems:
- ECFs that are redirections are replaced by their redirected content (3 had to be reverted)
- ECFs that are located in a child directory of a project/library containing no Eiffel classes but whose project has Eiffel classes updated to use the new agent type declaration are not updated by a design decision to not use the syntax_updater to update all ECFs (8 had to be manually converted).


Revision 98275 - Directory Listing
Modified Wed Dec 16 20:11:58 2015 UTC (4 years, 1 month ago) by jfiat
Moved taxonomy integration for web form inside CMS_TAXONOMY_API.
Moved a few helpers routine from CMS_RESPONSE to CMS_API.
Added CMS_CONTENT.identifier: detachable READABLE_STRING_32 .
Added missing file in demo example.

Revision 98273 - Directory Listing
Modified Wed Dec 16 14:25:40 2015 UTC (4 years, 1 month ago) by javierv
Added Module Session Authentication with Cookies.
Updated Demo example with the Module Session (Authentication with Cookies)
Fixed little issue with SQL query in OpenID module.

Revision 98237 - Directory Listing
Modified Thu Dec 10 14:21:13 2015 UTC (4 years, 1 month ago) by manus
Updated Eiffel syntax to the latest supported one.


Revision 98235 - Directory Listing
Modified Thu Dec 10 12:18:38 2015 UTC (4 years, 1 month ago) by alexk
Fixed bug#18713 (test#config039) by increasing a number of available free op codes according to used encoding type (INTEGER at the moment).

Revision 98233 - Directory Listing
Modified Thu Dec 10 10:51:31 2015 UTC (4 years, 1 month ago) by jfiat
Implemented taxonomy administration pages
  - create term, vocabulary, add or remove term from vocabularies, ...
Fixed content editing related to taxonomy  (especially with multiple terms vs tags).
Fixed various SQL storage issue related to taxonomy and vocabularies.
Added CMS_RESPONSE.wsf_theme as helper.
Made the SQL storage more flexible with INTEGER_32, by allowing to retrieve INTEGER_64 and convert to INTEGER_32 if value can be converted to integer 32.

Revision 98203 - Directory Listing
Modified Mon Dec 7 20:54:40 2015 UTC (4 years, 1 month ago) by jfiat
Updated doc/readme.md
Added support for taxonomy via a module.
Refactored and update CMS hooks design. (Move from CMS_RESPONSE to CMS_API).
Added notion of CMS_CONTENT as ancestor of CMS_NODE.
Moved CMS_CONTENT_TYPE to core library.
Moved content_types and content_type_webform_managers from CMS_RESPONSE to CMS_API.
Updated the way to output content (node, ...) to html page.
   See CMS_CONTENT_TYPE_WEBFORM_MANAGER.append_cointent_as_html_to (...).
   Added notion of "teaser" (short version of the content), as opposed to full content.
One can use CMS_API.html_encoder ... when possible, same for `formats', ...
Added bridge from CMS_MODULE_API to CMS_API's encoders.
Added new CMS_TAXONOMY_HOOK used to retrieve list of content associated with a specific term.
Moved up to CMS_RESPONSE a few features which was available only in specific descendants.
Added module administration from /admin/modules/
    

Revision 98187 - Directory Listing
Modified Thu Dec 3 10:13:40 2015 UTC (4 years, 1 month ago) by javierv
Fixed: delete-trash a node
Added code to remove path_aliases when we delete a node.

Revision 98180 - Directory Listing
Modified Wed Dec 2 13:27:38 2015 UTC (4 years, 1 month ago) by jfiat
Made test.ecf compilable.
+ cosmetic.

Revision 98116 - Directory Listing
Modified Wed Nov 18 08:46:30 2015 UTC (4 years, 2 months ago) by jfiat
Updated ROC CMS Documentation
Cosmetic, comments, typo.

Revision 98108 - Directory Listing
Modified Thu Nov 12 17:55:12 2015 UTC (4 years, 2 months ago) by jfiat
Added exportation solution via CMS_HOOK_EXPORT (export for node, blog, and core are implemented).
Updated blocks settings for demo example project.

Revision 98073 - Directory Listing
Modified Mon Nov 2 20:08:45 2015 UTC (4 years, 2 months ago) by jfiat
Fixed list item computation for ini file, especially with included ini file.

Revision 98071 - Directory Listing
Modified Mon Nov 2 17:55:52 2015 UTC (4 years, 2 months ago) by jfiat
Fixed recent_changes module to allow alias of recent_changes blocks.
Factorized code in CMS_RESPONSE by reusing add_block.

Revision 98069 - Directory Listing
Modified Mon Nov 2 17:12:16 2015 UTC (4 years, 2 months ago) by jfiat
Fixed table item computation for ini file, especially with included ini file.

Revision 98066 - Directory Listing
Modified Mon Nov 2 13:41:09 2015 UTC (4 years, 2 months ago) by jfiat
Updated gcse library to use unique own uuid in ecf file.
Updated google search libary ecf files to have better void-safe .ecf file.
Use relative paths from google_search ecf files to other local cms library .ecf files.


Revision 98065 - Directory Listing
Modified Mon Nov 2 13:27:18 2015 UTC (4 years, 2 months ago) by jfiat
Added non void-safe version of google_search library.
Renamed current google_search.ecf file as google_search-safe.ecf.

Revision 98064 - Directory Listing
Modified Mon Nov 2 11:07:02 2015 UTC (4 years, 2 months ago) by jfiat
Added new google_search  as a module.
Updated google custom search to handle quota limit and no query submit.
Updated code related to cache management in CMS core and modules.

Revision 98051 - Directory Listing
Modified Fri Oct 30 08:18:03 2015 UTC (4 years, 2 months ago) by jfiat
Fixed SCOOP compilation by removing uneeded separate keyword.


Revision 98048 - Directory Listing
Modified Thu Oct 29 14:48:20 2015 UTC (4 years, 2 months ago) by javierv
Fixed opensslconf.h to work on both 64-bit and 32-bit version.  This is only for Windows platforms.


Revision 98022 - Directory Listing
Modified Tue Oct 20 17:07:42 2015 UTC (4 years, 3 months ago) by jfiat
Fixed more unicode issues, or being more flexible when loading from database.

Revision 98021 - Directory Listing
Modified Tue Oct 20 16:54:28 2015 UTC (4 years, 3 months ago) by jfiat
Addressed various unicode related issues.
Note this is using recent changes from text_filter library.

Revision 98020 - Directory Listing
Modified Tue Oct 20 16:46:47 2015 UTC (4 years, 3 months ago) by jfiat
Make content filter more flexible by allowing STRING_GENERAL as input.
Added append_formatted_to (a_content, a_output) for convenience.

Revision 98017 - Directory Listing
Modified Tue Oct 20 09:39:00 2015 UTC (4 years, 3 months ago) by jfiat
Updated persistency solution to add support for Eiffel sqlite3 library.
Updated roc tool, and associated scripts.
Also include Eiffel Store ODBC persistence.
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.
Removed obsolete usage of {TYPE}.attempt from CMS_MODULE_COLLECTION.
Use extended type support from EiffelStore to handle STRING_32, and other extended types.

Revision 98016 - Directory Listing
Modified Mon Oct 19 20:32:58 2015 UTC (4 years, 3 months ago) by jfiat
Fixed configuration file (.ecf) to be complete void-safety.


Revision 98015 - Directory Listing
Modified Mon Oct 19 18:48:52 2015 UTC (4 years, 3 months ago) by jfiat
Fixed usage of SQLITE_LIMIT_VARIABLE_NUMBER, and replaced by SQLITE_API.maximum_variable_index_number: INTEGER 
  value coming from sqlite3_limit (...)
Fixed code for complete void-safety.
Minor improvement to support unicode path.

Revision 98010 - Directory Listing
Modified Sun Oct 18 18:48:02 2015 UTC (4 years, 3 months ago) by jfiat
Fixed compilation of recent_changes.ecf

Revision 98008 - Directory Listing
Modified Sun Oct 18 17:24:20 2015 UTC (4 years, 3 months ago) by jfiat
Fixed compilation of CMS_FILE_BLOCK.

Revision 98007 - Directory Listing
Modified Sun Oct 18 09:32:01 2015 UTC (4 years, 3 months ago) by manus
Let's restore _WINSOCKAPI_ in case it is not restored by including <winsock2.h>.


Revision 98006 - Directory Listing
Modified Sun Oct 18 07:58:37 2015 UTC (4 years, 3 months ago) by manus
Eiffel code will not use directly the openSSL headers, they will use `eif_openssl.h' which will include winsock2.h to define the struct timeval used in dtls1.h. To avoid some C warnings due to _WINSOCKAPI_ we undefine it if already defined before including winsock2.h.
Fixed C compilation warnings.


Revision 98005 - Directory Listing
Modified Fri Oct 16 22:18:43 2015 UTC (4 years, 3 months ago) by jfiat
Added support for block options for the feed aggregator blocks.
Updated weight for primary_tabs block.

Revision 98004 - Directory Listing
Modified Fri Oct 16 21:46:52 2015 UTC (4 years, 3 months ago) by jfiat
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.


Revision 98003 - Directory Listing
Modified Fri Oct 16 21:23:32 2015 UTC (4 years, 3 months ago) by jfiat
Added notion of alias block, to provide a way to include a block content in mutiple regions.
Added notion of block options, declared in cms.ini as
  [blocks]
  {block_id}.options[name]=value
  {block_id}.options[size]=123
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 blocks, so that they appear first as expected.
The weight can be set and overwritten in cms.ini , by pref  blocks.{block_id}.weight=weight_as_integer_value.
Improved block condition "path:..." by allowing wildchar.



Revision 97993 - Directory Listing
Modified Wed Oct 14 12:22:49 2015 UTC (4 years, 3 months ago) by jfiat
Fixed compilation of CMS_BLOCK_LOCATION_CONDITION (not used for now).

Revision 97989 - Directory Listing
Modified Mon Oct 12 17:43:33 2015 UTC (4 years, 3 months ago) by jfiat
Fixed compilation issue.

Revision 97988 - Directory Listing
Modified Mon Oct 12 17:40:57 2015 UTC (4 years, 3 months ago) by jfiat
Include block caches clearing during "clear_cache" hook invocation.

Revision 97986 - Directory Listing
Modified Mon Oct 12 17:24:14 2015 UTC (4 years, 3 months ago) by jfiat
For now, only clear feed aggregation cache if clear all cache is requested.

Revision 97985 - Directory Listing
Modified Mon Oct 12 17:17:51 2015 UTC (4 years, 3 months ago) by jfiat
Added CMS_HOOK_CACHE, and admin cache.
Implemented the clear_cache hook for feed_aggregation.
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.
Updated feed_aggregator module with example files.


Revision 97984 - Directory Listing
Modified Mon Oct 12 13:54:15 2015 UTC (4 years, 3 months ago) by jfiat
Implemented feed aggregation filtering based on categories.

Revision 97975 - Directory Listing
Modified Fri Oct 9 17:56:51 2015 UTC (4 years, 3 months ago) by jfiat
Added feed aggregation module.
Redesigned the CMS_BLOCK system with condition.
  - 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 "?".
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
 
Improved the configuration library to support list and table properties.
Added "cache" classes, to ease caching of html output for instance. (TODO: improve by providing a cache manager).
Updated theme for now, to include the feed examples.


Revision 97935 - Directory Listing
Modified Mon Sep 28 09:08:14 2015 UTC (4 years, 3 months ago) by jfiat
Updated notification mailer, to always store output messages.
Fixed CMS_RESPONSE, and specific error response, to return expected status code.

Revision 97915 - Directory Listing
Modified Tue Sep 15 17:49:25 2015 UTC (4 years, 4 months ago) by javierv
Updated CMS node
Delete extension data and node revisions.
Fixed few comments and log information.

Revision 97910 - Directory Listing
Modified Wed Sep 9 21:20:21 2015 UTC (4 years, 4 months ago) by jfiat
New "Add child" support for node page.

Corrected implementation of node extension save operation.

Refactor notion of trash and delete.
     - "Trash" a node now does a soft delete (move to trash container).
     - "Delete" a node now removes it from the storage (no undo).
     - rename link "Trash" to "Move to trash".

Updated roc script, install module for the examples, and updated demo site folder.

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.

Revision 97904 - Directory Listing
Modified Thu Sep 3 12:50:07 2015 UTC (4 years, 4 months ago) by jfiat
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.

Revision 97902 - Directory Listing
Modified Tue Sep 1 15:59:19 2015 UTC (4 years, 4 months ago) by javierv
Updated Basic Auth Module: remove the escaping from the logout message

Revision 97900 - Directory Listing
Modified Tue Sep 1 15:04:22 2015 UTC (4 years, 4 months ago) by javierv
Update Basic Auth Module
Added logout message
Display invalid credentials message inside the primary-tabs div.
Added support to submit the form using <Enter>.

Revision 97880 - Directory Listing
Modified Fri Aug 21 17:17:12 2015 UTC (4 years, 5 months ago) by jfiat
The NULL storage may look into the CMS configuration file.
This allows to run the CMS without any database.


Revision 97846 - Directory Listing
Modified Wed Aug 19 10:35:41 2015 UTC (4 years, 5 months ago) by jfiat
Fixed cms library compilation.
   CMS_FILE_BLOCK was missing `is_empty' implementation.

Revision 97830 - Directory Listing
Modified Tue Aug 18 17:26:02 2015 UTC (4 years, 5 months ago) by jfiat
Better js code to apply CKEditor.replace, mainly to select only textarea.name
code cleaning.

Revision 97824 - Directory Listing
Modified Tue Aug 18 08:59:42 2015 UTC (4 years, 5 months ago) by jfiat
Do not include empty blocks, this way, we avoid empty sidebars if not needed.

Revision 97818 - Directory Listing
Modified Mon Aug 17 15:41:56 2015 UTC (4 years, 5 months ago) by jfiat
Require "view recent changes" permission to see the recent changes.

Revision 97813 - Directory Listing
Modified Thu Aug 13 15:57:02 2015 UTC (4 years, 5 months ago) by manus
Added non-void-safe version of `recent_changes' library.


Revision 97810 - Directory Listing
Modified Wed Aug 12 22:45:25 2015 UTC (4 years, 5 months ago) by jfiat
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.
       


Revision 97809 - Directory Listing
Modified Wed Aug 12 17:06:30 2015 UTC (4 years, 5 months ago) by jfiat
Updated admin and recent_changes module permissions declaration.
Use "deleted" instead of "trashed" in recent changes page.

Revision 97806 - Directory Listing
Modified Wed Aug 12 16:20:06 2015 UTC (4 years, 5 months ago) by jfiat
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.
Cleaned up hooks related code, and always go via CMS_RESPONSE.hooks

Revision 97799 - Directory Listing
Modified Mon Aug 10 10:57:17 2015 UTC (4 years, 5 months ago) by jfiat
Quick fix for ROC CMS links in authentication email templates.

Revision 97798 - Directory Listing
Modified Mon Aug 10 10:51:07 2015 UTC (4 years, 5 months ago) by jfiat
Fixing edit node form field title and id.

Revision 97796 - Directory Listing
Modified Mon Aug 10 09:22:45 2015 UTC (4 years, 5 months ago) by jfiat
Updated node module sql script file to support revisions.

Revision 97795 - Directory Listing
Modified Mon Aug 10 08:27:28 2015 UTC (4 years, 5 months ago) by jfiat
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.


Revision 97787 - Directory Listing
Modified Thu Aug 6 09:55:38 2015 UTC (4 years, 5 months ago) by jfiat
Removed unused local variables.

Revision 97786 - Directory Listing
Modified Thu Aug 6 09:54:48 2015 UTC (4 years, 5 months ago) by jfiat
Implemented CMS_LINK.is_forbidden in all descendants.

Revision 97781 - Directory Listing
Modified Wed Aug 5 20:35:19 2015 UTC (4 years, 5 months ago) by javierv
Fixed compilation issue: not implemented feature is_forbidden.

Revision 97769 - Directory Listing
Modified Tue Aug 4 14:46:57 2015 UTC (4 years, 5 months ago) by jfiat
Improved permissions list display, to be sorted.
Better permission names for "admin users" and "admin roles".

Revision 97767 - Directory Listing
Modified Tue Aug 4 13:06:29 2015 UTC (4 years, 5 months ago) by jfiat
Added admin module that handles for now only user, and roles+permissions.
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.

Revision 97762 - Directory Listing
Modified Mon Aug 3 11:59:57 2015 UTC (4 years, 5 months ago) by jfiat
 Show editing tabs only if authenticated user has editing access.

Revision 97738 - Directory Listing
Modified Sat Jul 18 12:04:27 2015 UTC (4 years, 6 months ago) by javierv
Fixed issue with associate account.

Revision 97736 - Directory Listing
Modified Sat Jul 18 11:52:26 2015 UTC (4 years, 6 months ago) by javierv
Updated full_html format, the use of line break filter seems to be not good for Full HTML format.

Revision 97731 - Directory Listing
Modified Thu Jul 16 18:23:14 2015 UTC (4 years, 6 months ago) by jfiat
Fixed implementation of CMS_USER_STORAGE_SQL_I.update_user_roles

Revision 97727 - Directory Listing
Modified Thu Jul 16 18:04:19 2015 UTC (4 years, 6 months ago) by jfiat
Added permissions "$action any node" , "$action own node" for now.

Revision 97725 - Directory Listing
Modified Thu Jul 16 16:05:30 2015 UTC (4 years, 6 months ago) by javierv
Updated block new password using Request instead of Require.


Revision 97724 - Directory Listing
Modified Thu Jul 16 15:22:27 2015 UTC (4 years, 6 months ago) by jfiat
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.

Revision 97721 - Directory Listing
Modified Thu Jul 16 13:52:35 2015 UTC (4 years, 6 months ago) by javierv
Added HTML5 validation 
Required: input title
Added uri validation for Path alias using the following regex ^([A-Za-z0-9-_+ ]).+


Revision 97720 - Directory Listing
Modified Thu Jul 16 13:51:15 2015 UTC (4 years, 6 months ago) by jfiat
Display the OAuth association only in "account" page.
Improved the account info block template for OAuth2 to be displayed only when pertinent.


Revision 97719 - Directory Listing
Modified Thu Jul 16 13:28:22 2015 UTC (4 years, 6 months ago) by jfiat
Fixed validation of node path alias field, for node creation.
Now,when installation a module, stores the version (instead of just "yes").


Revision 97716 - Directory Listing
Modified Wed Jul 15 16:27:49 2015 UTC (4 years, 6 months ago) by javierv
Added account block to link and unlink with Oauth
Updated CMS_OAUTH_20_MODULE, to handle account_info, block

Revision 97715 - Directory Listing
Modified Wed Jul 15 15:42:31 2015 UTC (4 years, 6 months ago) by javierv
Updated Account Info
Add Link and Unlink account with OAuth.

Revision 97711 - Directory Listing
Modified Tue Jul 14 17:59:29 2015 UTC (4 years, 6 months ago) by jfiat
Added CMS_USER_API.save_user_role (a_user_role)
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.

Revision 97709 - Directory Listing
Modified Tue Jul 14 16:10:34 2015 UTC (4 years, 6 months ago) by javierv
Updated account info, using a to link users to login form.
Removed unneeded file.

Revision 97706 - Directory Listing
Modified Tue Jul 14 14:06:16 2015 UTC (4 years, 6 months ago) by javierv
Updated Account info:
    If user is not logged in, show a login option.
Updated New Password
    Added option to request a new password using username.
Updated templates to use {$site_url}
Fixed issue with logout from account info.

Revision 97701 - Directory Listing
Modified Tue Jul 14 10:49:21 2015 UTC (4 years, 6 months ago) by jfiat
Fixed wrong error report for path alias validation.

Revision 97699 - Directory Listing
Modified Tue Jul 14 10:22:56 2015 UTC (4 years, 6 months ago) by jfiat
Added error_handler in CMS_MODULE_API (and thus all modules).
Better error handling in CMS_USER_API.
Removed unused local variable
Use new location for http_authorization library.


Revision 97697 - Directory Listing
Modified Mon Jul 13 16:54:20 2015 UTC (4 years, 6 months ago) by jfiat
Moved initialization from CMS_DEFAULT_SETUP to CMS_SETUP.initialize.
Rely on setup  "admin.installation_access" to determine who has access to /admin/install .
Added account info, shows basic user info, change password, and logout based on login strategy.
Clean block_login.


Revision 97691 - Directory Listing
Modified Sat Jul 11 13:47:11 2015 UTC (4 years, 6 months ago) by jfiat
Process modules installation only for /admin/install request.
This makes installation process safer, and controlled.

Revision 97690 - Directory Listing
Modified Fri Jul 10 17:07:05 2015 UTC (4 years, 6 months ago) by jfiat
Implemented Module enable/disable setting from configuration.
Implemented dependencies checking to set CMS_MODULE.is_enabled.
Implemented the persistence of CMS_USER.roles
Fixed issue with CMS_USER_STORAGE_SQL_I.update_user which was passing useless parameters.

Revision 97685 - Directory Listing
Modified Fri Jul 10 11:00:01 2015 UTC (4 years, 6 months ago) by jfiat
In SQL statement use the same case for table names, i.e all lowercase.
Otherwise on Linux+MySQL queries may fail.

Revision 97684 - Directory Listing
Modified Fri Jul 10 10:22:54 2015 UTC (4 years, 6 months ago) by jfiat
Added error handler argument in CMS_STORAGE_BUILDER.storage (...) function.
Removed testing purpose code.
Update debug module.

Revision 97681 - Directory Listing
Modified Thu Jul 9 19:47:39 2015 UTC (4 years, 6 months ago) by jfiat
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.

Revision 97678 - Directory Listing
Modified Thu Jul 9 11:47:54 2015 UTC (4 years, 6 months ago) by jfiat
Added back filtered_html to CMS_FORMATS.

Revision 97677 - Directory Listing
Modified Thu Jul 9 11:42:59 2015 UTC (4 years, 6 months ago) by jfiat
Merged formats, from CMS_NODE_API and CMS_API, into CMS_API.formats: CMS_FORMATS.

Revision 97676 - Directory Listing
Modified Thu Jul 9 11:07:33 2015 UTC (4 years, 6 months ago) by jfiat
Added missing CMS_FORMAT class.

Revision 97675 - Directory Listing
Modified Thu Jul 9 10:25:33 2015 UTC (4 years, 6 months ago) by jfiat
Removed unused local variables.

Revision 97674 - Directory Listing
Modified Thu Jul 9 10:25:13 2015 UTC (4 years, 6 months ago) by jfiat
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).


Revision 97668 - Directory Listing
Modified Tue Jul 7 15:43:03 2015 UTC (4 years, 6 months ago) by jfiat
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.

Revision 97667 - Directory Listing
Modified Tue Jul 7 15:29:24 2015 UTC (4 years, 6 months ago) by jfiat
Added CMS_USER.utf_8_name: STRING_8 for convenience.
Added a permission check for registering (TODO: by default allow visitor to register new account).
Fixed implementation of path alias settings.
   Now reports an error if path is already aliased to another location.
Cosmetic.


Revision 97647 - Directory Listing
Modified Fri Jul 3 17:10:46 2015 UTC (4 years, 6 months ago) by javierv
Updated NetSSL library to use the latest OpenSSL version, removed SSL3 protocol
option for client and server. Patchreview http://patchreview.eiffel.com/6219128943673344/

Revision 97644 - Directory Listing
Modified Fri Jul 3 16:52:54 2015 UTC (4 years, 6 months ago) by jfiat
Added CMS_API.new_email (..): CMS_EMAIL to help CMS_EMAIL creation.

Revision 97639 - Directory Listing
Modified Fri Jul 3 14:27:04 2015 UTC (4 years, 6 months ago) by jfiat
Removed blog from example demo module, since it is now under official modules.

Revision 97635 - Directory Listing
Modified Fri Jul 3 12:07:56 2015 UTC (4 years, 6 months ago) by javierv
Basic Auth module, get form by name.

Revision 97633 - Directory Listing
Modified Fri Jul 3 11:14:55 2015 UTC (4 years, 6 months ago) by javierv
Basic Auth module remove not safe ecf.

Revision 97630 - Directory Listing
Modified Fri Jul 3 07:58:30 2015 UTC (4 years, 6 months ago) by jfiat
Updated auto register hook with new {CMS_HOOK_RESPONSE_ALTER}.
Fixed locations of .ecf file related to ROC CMS.

Revision 97627 - Directory Listing
Modified Thu Jul 2 23:33:55 2015 UTC (4 years, 6 months ago) by javierv
synchronize git with svn

Revision 97618 - Directory Listing
Modified Thu Jul 2 11:35:19 2015 UTC (4 years, 6 months ago) by jfiat
Added initial simple roc tool source code.
Modules:
 - New OpenID Module
 - Made CMS_MODULE.name deferred, and implemented by constant so that it can be use as static call.
 - Copied site resources on related module source folder.
 - Renamed "login" module as "auth" module, and updated related locations and files.
 - Moved blog under official modules folder.
 - Renamed NODE_MODULE as CMS_NODE_MODULE.
CMS:
 - Added CMS_SETUP.mailer
 - Added usage of notification_email library.
 - Provided a CMS_EMAIL, and CMS_API.process_email (CMS_EMAIL)
 - Added url routing for /files/... and /module/{modname}/files/...
 - Added CMS_HOOK_RESPONSE_ALTER to give a last chance to alter the response before rendering.
    This hook should not be used, when there are other alternative hook that answer the need, but this is proposed for now, as a way to alter response by adding css, js url, ...

Code cleaning .
 - Cleaned theme of demo example project.
Misc:
 - Updated implementation of email_service to use notification_email library
 - Added integration configuration file all-safe.ecf .



Revision 97564 - Directory Listing
Modified Thu Jun 25 22:22:27 2015 UTC (4 years, 7 months ago) by jfiat
Updated to use new interface CMS_API.module_....

Revision 97563 - Directory Listing
Modified Thu Jun 25 21:47:09 2015 UTC (4 years, 7 months ago) by jfiat
Integrated authentication modules (including login with oauth 2.0 module)
Applied new modules layout.

Revision 97549 - Directory Listing
Modified Wed Jun 24 14:11:02 2015 UTC (4 years, 7 months ago) by javierv
Updated CMS:
Extract email service as a library.
Updated modules to use the email library.
Fixed compilation issue with database_connection_null.e

Revision 97545 - Directory Listing
Modified Wed Jun 24 00:05:42 2015 UTC (4 years, 7 months ago) by javierv
CMS sync with EWF:ewf_v1 branch.
Added Module CMS Authentication.
Updated Basic Auth module to handle logoff.

Revision 97543 - Directory Listing
Modified Tue Jun 23 20:42:36 2015 UTC (4 years, 7 months ago) by javierv
Updated NetSSL library to read the certificates and private keys from manifest
strings. Patch review 5160321794703360.

Revision 97487 - Directory Listing
Modified Thu Jun 18 14:41:11 2015 UTC (4 years, 7 months ago) by romanschmocker
Moved the scoop_patterns library to trunk.

Revision 97485 - Directory Listing
Modified Thu Jun 18 12:48:23 2015 UTC (4 years, 7 months ago) by jfiat
Removed inheritance from obsolete classes.

Revision 97484 - Directory Listing
Modified Thu Jun 18 12:26:23 2015 UTC (4 years, 7 months ago) by jfiat
Fixed persistency layer.
  Now we have ODBC .. that accepts various connection string (including SQLite, MySQL,...)
  And EiffelStore+MySQL.
Updated sql scripts to work with MySQL, and SQLite.
Added a sql_statement (s: STRING): STRING that converts ROC sql statement to fit the underlying database engine.
  mostly to adapt incompatibilities such as AUTO_INCREMENT for MySQL and AUTOINCREMENT for SQLite
  by default SQL script should be written following MySQL SQL syntax.
Warning: to use ODBC persistence driver, it has to be installed on the target machine.

Revision 97478 - Directory Listing
Modified Tue Jun 16 19:17:26 2015 UTC (4 years, 7 months ago) by jfiat
Merged CMS based on concurrent EWF (i.e ewf_v1) with blog branch.
TODO: improve the wysiwyg editor integration.

Revision 97463 - Directory Listing
Modified Thu Jun 11 21:05:53 2015 UTC (4 years, 7 months ago) by jfiat
Removed obsolete calls.
Updated code to make it clear what is the resource, and what is the associated module resource path.
Added missing ewf_roc_server_execution.e file.

Revision 97453 - Directory Listing
Modified Wed Jun 10 16:54:35 2015 UTC (4 years, 7 months ago) by jfiat
Adapted to new concurrent EWF, which is now the default EWF version for EiffelStudio.

Revision 97420 - Directory Listing
Modified Tue Jun 2 14:12:42 2015 UTC (4 years, 7 months ago) by jfiat
Added pagination component, and apply it to list of nodes.


Revision 97350 - Directory Listing
Modified Fri May 22 21:04:42 2015 UTC (4 years, 8 months ago) by jfiat
Added abstraction of cms storage on file system. (mostly helpers features).

Revision 97348 - Directory Listing
Modified Fri May 22 20:38:11 2015 UTC (4 years, 8 months ago) by jfiat
Improved site_url and base_url interface and initialization.
Added CMS_CUSTOM_RESPONSE_MESSAGE interface to send easily simple response message.
Updated CMS_RESPONSE to use CMS_CUSTOM_RESPONSE_MESSAGE 

Revision 97327 - Directory Listing
Modified Wed May 20 09:48:26 2015 UTC (4 years, 8 months ago) by jfiat
Added support for base_url  (i.e the CMS can be hosted on the root, or sub folder).
Local paths are relative to cms site url (i.e no starting slash).
Favor CMS_RESPONSE.absolute_url and url .. instead of using directly WSF_REQUEST.absolute_script_url and script_url.
Handled unicode truncation issue for logger.
Code cleaning.

Revision 97291 - Directory Listing
Modified Sun May 17 15:58:01 2015 UTC (4 years, 8 months ago) by javierv
Added Delete tab and trash features.

Revision 97287 - Directory Listing
Modified Wed May 13 15:40:03 2015 UTC (4 years, 8 months ago) by jfiat
Refactored CMS_MODULE.router (..): WSF_ROUTER design,
   to create only one router object of type CMS_ROUTER.
   WARNING: this is a breaking change but very easy to adapt existing code.

Added support for path_aliases.
   Added optional CMS_NODE.link: CMS_LOCAL_LINK

Added support for node deletion
   Updated CMS_NODE with a new status attribute.
   Updated CMS_NODE_API, with status, not_published, published and trashed.
   Updated queries to retrieve nodes filter by no logical deleted rows (ie. status is trashed).

Reviewed permissions related to node module.

Refactor and add CMS_STORAGE_SQL(_BUILDER) abstractions
   for implementation relying only on SQL statements.
   factorized sql builder initialization (to work for sqlite and mysql storage builders).
Updated SQLITE builder using GLOBAL_SETTINGS to map 0 to 0, by default 0 -> NULL

Added CMS_RESPONSE.formatted_string (a_text: READABLE_STRING_GENERAL; args: TUPLE): STRING_32
Added function "translation", but not implemented for now.

Updated indexing notes and comments.
Code cleaning.

Revision 97255 - Directory Listing
Modified Thu May 7 11:13:17 2015 UTC (4 years, 8 months ago) by javierv
Updated NetSSL with patch #5287527216840704
Added features to create an SSL_CONTEXT from a POINTER
Fixed concurrent call issue on SSL_SHARED.c_ssl_load_error_strings


Revision 97232 - Directory Listing
Modified Mon May 4 21:20:58 2015 UTC (4 years, 8 months ago) by jfiat
Fixed compilation of autotests suites for sqlite and mysql.
TODO: reintroduce tests for node management.

Revision 97219 - Directory Listing
Modified Thu Apr 30 17:45:23 2015 UTC (4 years, 8 months ago) by jfiat
Commented line registering the MYSQL storage builder,
    since it reguires to setup MYSQL environment variable and so on.
    So by default, we use sqlite, easier to run out of the box.
Fixed node editing workflow (especially creation/updating).

Revision 97217 - Directory Listing
Modified Thu Apr 30 08:41:13 2015 UTC (4 years, 8 months ago) by jfiat
Added support for node management (editing workflow, ...)
  - based on node, and extensible to various kind of nodes inheriting from CMS_NODE
  - it is provided as a standalone cms module.
Added support for user, and permission using a role based system.
Implemented CMS storage based on SQL statement.
Fixed basic auth module, for login and logout behavior.
Prepared to move to EWF concurrent version in the future.
Renamed "layout" library as "app_env" library.
Update structures of folder, moved files, renaming,...
Code cleaning.



Revision 97061 - Directory Listing
Modified Fri Apr 10 14:27:48 2015 UTC (4 years, 9 months ago) by jfiat
Added `accept_to' procedure the same way it was done recently on Eiffel NET.
Revisited the inheritance design to match Eiffel NET interfaces.

Review: http://patchreview.eiffel.com/6010133184249856/

Revision 96994 - Directory Listing
Modified Thu Apr 2 09:46:04 2015 UTC (4 years, 9 months ago) by manus
Removed non-used locals.


Revision 96906 - Directory Listing
Modified Wed Mar 25 16:24:23 2015 UTC (4 years, 10 months ago) by jfiat
Fixed compilation of peg.ecf

Revision 96905 - Directory Listing
Modified Wed Mar 25 13:16:27 2015 UTC (4 years, 10 months ago) by jfiat
Renamed iron package as unstable_base_extension

Revision 96869 - Directory Listing
Modified Thu Mar 19 09:05:07 2015 UTC (4 years, 10 months ago) by jfiat
Moved PEG library from framework to unstable libraries.
Updated autotest code.

Revision 96797 - Directory Listing
Modified Mon Mar 9 18:25:49 2015 UTC (4 years, 10 months ago) by jfiat
Fixed issue with ini config component and include functionality.
Added {CMS_SETUP}.cms_config_ini_name to define the CMS Configuration file name, 
   and provide an easy way to change the name.

Revision 96643 - Directory Listing
Modified Mon Feb 16 19:14:19 2015 UTC (4 years, 11 months ago) by jfiat
Added is_https: BOOLEAN query to CMS (on page, but also as 'is_https' value)

Revision 96630 - Directory Listing
Modified Mon Feb 16 11:52:35 2015 UTC (4 years, 11 months ago) by jfiat
Prefix html id for block generated html items with "block-", to avoid css name conflict on "main", "content" or similar.

Revision 96629 - Directory Listing
Modified Sun Feb 15 20:22:14 2015 UTC (4 years, 11 months ago) by jfiat
Fixed compilation of cms.ecf

Revision 96620 - Directory Listing
Modified Fri Feb 13 13:54:27 2015 UTC (4 years, 11 months ago) by jfiat
Added missing cms_module_api class file

Revision 96616 - Directory Listing
Modified Fri Feb 13 12:08:13 2015 UTC (4 years, 11 months ago) by jfiat
Added code in demo module to reuse storage for module purpose.
Always call sql_post_execution in sql_query and sql_change, and not anymore by the callers.
Removed is_web and is_html from {CMS_SETUP}, it was not used.
Reused SHARED_*_ENCODER in CMS_ENCODERS
Added CMS_API.logger rather than using directly the SHARED_LOGGER.log ...
Centralize the implementation of current_user in CMS_REQUEST_UTIL
Removed the inheritance on WSF_FILTER for node handlers, since it is useless and unused.
Added CMS_NODE_API and CMS_USER_API
Code cleaning

Revision 96596 - Directory Listing
Modified Mon Feb 9 21:29:56 2015 UTC (4 years, 11 months ago) by jfiat
Added weight into to the CMS_LINK and provide a `sort' feature for CMS_MENU and related.
Protected cms service from registering many time the same module type. 
Moved library/persistence/implementation/* under library/persistence/.
Moved site/www/themes to site/themes
For SQLite storage driver, auto create sqlite db file using associated sql script (to be completed).

Revision 96584 - Directory Listing
Modified Thu Feb 5 09:25:53 2015 UTC (4 years, 11 months ago) by jfiat
Revisited application layout, shared logger and relation with cms to avoid mixing various layout.

Revision 96576 - Directory Listing
Modified Tue Feb 3 18:25:32 2015 UTC (4 years, 11 months ago) by jfiat
Fixed location of logs folder.

Revision 96575 - Directory Listing
Modified Tue Feb 3 18:11:23 2015 UTC (4 years, 11 months ago) by jfiat
Fixed shared logger code (there was an issue on non Windows machine)
Now, it is possible to set logs folder from config file.


Revision 96564 - Directory Listing
Modified Fri Jan 30 18:39:52 2015 UTC (4 years, 11 months ago) by jfiat
Removed unused local variable.
Updated SHARED_LOGGER to remove a few obsolete calls on json parser.


Revision 96563 - Directory Listing
Modified Fri Jan 30 18:37:02 2015 UTC (4 years, 11 months ago) by jfiat
Added debug output to CMS_BLOCK.
Updated SHARED_LOGGER to remove a few obsolete calls on json parser.
Added favicon.ico specific handling.
Fixed issue with theme and non raw block. 

Revision 96555 - Directory Listing
Modified Thu Jan 29 23:15:28 2015 UTC (4 years, 11 months ago) by javierv
Added svn:eol-style native property
Removed unnecessary file.

Revision 96554 - Directory Listing
Modified Thu Jan 29 15:13:46 2015 UTC (4 years, 11 months ago) by javierv
Added the new Schema for MySQL

Revision 96545 - Directory Listing
Modified Tue Jan 27 18:58:18 2015 UTC (4 years, 11 months ago) by jfiat
Moved library/src to src

Revision 96542 - Directory Listing
Modified Tue Jan 27 18:15:02 2015 UTC (4 years, 11 months ago) by jfiat
Revisited the persistence layer.
Simplified schema to focus on user and node.
Now possible to have sqlite via ODBC and/or mysql support, and select using configuration file.
Updated demo example.

Revision 96461 - Directory Listing
Modified Wed Jan 14 23:00:58 2015 UTC (5 years ago) by javierv
Updated log directory location if the argument `-d' is present.

Revision 96456 - Directory Listing
Modified Wed Jan 14 17:12:03 2015 UTC (5 years ago) by jfiat
Removed CMS_SETUP.smtp_server since for now, there is no need for such general setting.
Add header line "X-ServerEWF-App: CMS" as a simple way to know if request is processed by the CMS.

Revision 96454 - Directory Listing
Modified Wed Jan 14 15:13:47 2015 UTC (5 years ago) by jfiat
Updated CMS_SERVICE to make the cms library complete void-safe.
Reviewed configuration related feature.
Renamed JSON_CONFIGURATION as APPLICATION_JSON_CONFIGURATION_HELPER to avoid confusion.
Updated CMS_DEFAULT_SETUP to use configuration from cms configuration library.
Added {CMS_API}.module_configuration (a_module_name: READABLE_STRING_GENERAL; a_name: detachable READABLE_STRING_GENERAL): detachable CONFIG_READER  to help getting access to configuration of a module (for now, only json and ini are supported, but in the future, this could support database layer directly)
Added CMS_HOOK_BLOCK_HELPER to reuse the template_block (..): ... function.
Cosmetic

Revision 96433 - Directory Listing
Modified Thu Jan 8 01:58:50 2015 UTC (5 years ago) by javierv
Updated cms tutorial

Revision 96402 - Directory Listing
Modified Fri Dec 19 13:17:32 2014 UTC (5 years, 1 month ago) by javierv
Refactor rename error_500_cms_response to internal_server_error_cms_response
Added bad_request_error_cms_response
Updated code example to use the new internal_server_error_cms_response instead of error_500_cms_response class.
Removed class error_500_cms_response.

Revision 96384 - Directory Listing
Modified Thu Dec 18 15:47:20 2014 UTC (5 years, 1 month ago) by jfiat
Updated cms setup and configuration design:
  Removed CMS_SETUP.configuration: CMS_CONFIGURATION
  Removed CMS_CONFIGURATION and replaced it by using the configuration library.
  Added CMS_DEFAULT_SETUP.configuration: CONFIG_READER
  Addec CMS_SETUP.text_item (name): detachable READABLE_STRING_32 ...
    in order to access option not publish by the CMS_SETUP interface.
Removed CMS_SERVICE.configuration: CMS_CONFIGURATION since it was not used.

Revision 96383 - Directory Listing
Modified Thu Dec 18 15:37:11 2014 UTC (5 years, 1 month ago) by jfiat
Moved configuration library from eiffel-lang to cms libraries.
Fixed issue related to ini config when parsing from string content, 
  and also issue related to section included in file via @include.
Updated cms setup and configuration design:
  Removed CMS_SETUP.configuration: CMS_CONFIGURATION
  Removed CMS_CONFIGURATION and replaced it by using the configuration library.
  Added CMS_DEFAULT_SETUP.configuration: CONFIG_READER
  Addec CMS_SETUP.text_item (name): detachable READABLE_STRING_32 ...
    in order to access option not publish by the CMS_SETUP interface.
Removed CMS_SERVICE.configuration: CMS_CONFIGURATION since it was not used.
Improved the email service and related.

Revision 96374 - Directory Listing
Modified Thu Dec 18 10:28:37 2014 UTC (5 years, 1 month ago) by jfiat
Better comment for CMS_SETUP.site_email

Revision 96367 - Directory Listing
Modified Wed Dec 17 12:14:43 2014 UTC (5 years, 1 month ago) by javierv
Updated cms configuration file with an smtp server property.
Updated cms code to use the new property.
Removed title from the home response.

Revision 96346 - Directory Listing
Modified Mon Dec 15 20:43:38 2014 UTC (5 years, 1 month ago) by jfiat
Do not generate the <h1> html code for page-title, and the top content anchor. 
Moved this to the template itself.


Revision 96329 - Directory Listing
Modified Thu Dec 11 18:00:56 2014 UTC (5 years, 1 month ago) by manus
New version of EiffelBase2 that is Void-safe.


Revision 96317 - Directory Listing
Modified Wed Dec 10 21:34:23 2014 UTC (5 years, 1 month ago) by jfiat
Do not use any content format for block computed by or passed to cms response.


Revision 96314 - Directory Listing
Modified Wed Dec 10 20:43:39 2014 UTC (5 years, 1 month ago) by jfiat
Fixing is_expanded status computation on CMS_MENU and CMS_LINK.

Revision 96293 - Directory Listing
Modified Tue Dec 9 12:43:44 2014 UTC (5 years, 1 month ago) by javierv
Fixed typos, clean document.

Revision 96292 - Directory Listing
Modified Tue Dec 9 11:44:04 2014 UTC (5 years, 1 month ago) by javierv
Updated README file.
How to build OpenSSL static libraries on windows with VC and MinGW.

Revision 96285 - Directory Listing
Modified Mon Dec 8 19:35:25 2014 UTC (5 years, 1 month ago) by jfiat
Fixing the computation of is_expanded and is_active for a CMS_MENU and related CMS_LINK

Revision 96260 - Directory Listing
Modified Fri Dec 5 21:39:27 2014 UTC (5 years, 1 month ago) by jfiat
Added CMS_FILE_BLOCK which is a block that takes its content from a static file.
Improved introspection for any kind of STRING_TABLE [READABLE_STRING_GENERAL].


Revision 96228 - Directory Listing
Modified Tue Dec 2 21:43:37 2014 UTC (5 years, 1 month ago) by manus
Fixed `internal_thread_id' to avoid truncation of the value returned by `get_current_thread_id'.


Revision 96162 - Directory Listing
Modified Wed Nov 26 16:59:33 2014 UTC (5 years, 2 months ago) by javierv
Updated CMS_SMARTY_TEMPALTE_BLOCK, redefined out to be used by the logger.
Updated CMS_API, added wrapper features to access error_handler. has_error, reset, as_string_representation, hide
the actual error hanlder implementation.
Updated Error Filter with better logging.

Revision 96139 - Directory Listing
Modified Thu Nov 20 14:18:37 2014 UTC (5 years, 2 months ago) by jfiat
Removed a few obsolete calls related to JSON library.

Revision 96138 - Directory Listing
Modified Thu Nov 20 14:03:29 2014 UTC (5 years, 2 months ago) by jfiat
Reverted renaming to use `modules' for available modules.
Added CMS_SETUP.register_module (m) to avoid extending directly to the CMS_SETUP.modules
Removed useless CMS_CUSTOM_SETUP 
Updated concepts.md
Removed a few obsolete calls related to json library.
Added comments
+cosmetic

Revision 96124 - Directory Listing
Modified Wed Nov 19 19:43:23 2014 UTC (5 years, 2 months ago) by javierv
Forgot to commit cms_response update.

Revision 96123 - Directory Listing
Modified Wed Nov 19 19:00:19 2014 UTC (5 years, 2 months ago) by javierv
Added {CMS_SETUP}.enabled_modules
Refactor rename {CMS_SETUP}.modules to {CMS_SETUP}.available_modules
Updated {CMS_SERVICE}.intialize_modules to use the new feature {CMS_SETUP}.enabled_modules
Updated {CMS_SERVICE}.register_hook to use the new feature {CMS_SETUP}.enabled_modules
Updated cms_hook_block description
Udpated concepts document

Revision 96119 - Directory Listing
Modified Wed Nov 19 13:12:45 2014 UTC (5 years, 2 months ago) by javierv
CMS Update
Removed shared_error from CMS_API
Added Missing theme and Missing tempalte classes.
Updated CMS_RESPONSE to handle missing template and send a 503 status code
with a raw response.

Revision 96112 - Directory Listing
Modified Tue Nov 18 14:52:16 2014 UTC (5 years, 2 months ago) by javierv
Fixed issue with Sqlite layer in not void safety version 

Revision 96111 - Directory Listing
Modified Tue Nov 18 12:41:02 2014 UTC (5 years, 2 months ago) by javierv
Updated CMS concepts document.

Revision 96110 - Directory Listing
Modified Tue Nov 18 09:13:13 2014 UTC (5 years, 2 months ago) by jfiat
Fixed non void-safe compilations, and cleaned .ecf files.
+Cosmetic

Revision 96108 - Directory Listing
Modified Tue Nov 18 01:49:56 2014 UTC (5 years, 2 months ago) by javierv
Removed default them.
Updated cms_response.


Revision 96104 - Directory Listing
Modified Mon Nov 17 17:47:30 2014 UTC (5 years, 2 months ago) by javierv
Added basic CMS documentation.

Revision 96092 - Directory Listing
Modified Fri Nov 14 19:11:17 2014 UTC (5 years, 2 months ago) by jfiat
Added cms_smarty_template_block
Added CMS_RESPONSE.module_assets_location and CMS_RESPONSE.module_assets_theme_location
     that help locating module related assets.
Added CMS_BLOCK.is_raw to abstract CMS_CONTENT_BLOCK.is_raw
Updated ecf files, and added non void-safe .ecf files.

Revision 96089 - Directory Listing
Modified Fri Nov 14 02:50:27 2014 UTC (5 years, 2 months ago) by javierv
Updated Sqlite implementation to make it compile.
Updated sqlite test cases.


Revision 96086 - Directory Listing
Modified Thu Nov 13 18:34:00 2014 UTC (5 years, 2 months ago) by jfiat
Renamed {CMS_SETUP} theme_resource_location as theme_assets_location
Added missing known hook in auto register hook.
Implemented /theme/* file system response.
Implemented $page.type for the smarty template.
Added CMS_DEBUG_MODULE .
Added NOT_FOUND_ERROR_CMS_RESPONSE .

Revision 96085 - Directory Listing
Modified Thu Nov 13 15:23:47 2014 UTC (5 years, 2 months ago) by javierv
Initial import new CMS library

Revision 95935 - Directory Listing
Modified Thu Oct 16 12:07:25 2014 UTC (5 years, 3 months ago) by jfiat
Moved library "text_filter" under Src/unstable/library/text/text_filter

Revision 94979 - Directory Listing
Modified Fri May 2 04:46:50 2014 UTC (5 years, 8 months ago) by manus
Added missing svn:eol-style native property.

Revision 94976 - Directory Listing
Modified Fri May 2 00:11:08 2014 UTC (5 years, 8 months ago) by manus
Removed unused local.


Revision 94975 - Directory Listing
Modified Fri May 2 00:10:56 2014 UTC (5 years, 8 months ago) by manus
Updated to latest version of ECF's schema.


Revision 94889 - Directory Listing
Modified Fri Apr 18 13:56:13 2014 UTC (5 years, 9 months ago) by jfiat
Updated package.iron to include the compile_library instructions.
And adapted a few iron packages.

Revision 94807 - Directory Listing
Modified Thu Apr 10 13:50:08 2014 UTC (5 years, 9 months ago) by jfiat
Set to complete void-safety
Cosmetic (Result instead of result, ...)

Revision 94798 - Directory Listing
Modified Wed Apr 9 11:29:17 2014 UTC (5 years, 9 months ago) by jfiat
Added package.iron IRON files for unstable libraries

Revision 94743 - Directory Listing
Modified Sat Mar 29 05:08:23 2014 UTC (5 years, 10 months ago) by manus
Made test compile after the rename of CHARACTER_SET into PCRE_CHARACTER_SET.


Revision 94741 - Directory Listing
Modified Fri Mar 28 12:30:48 2014 UTC (5 years, 10 months ago) by jfiat
Mainly to be able to compile some system with class name unicity enforced.
Renamed BYTE_CODE to PCRE_BYTE_CODE
Renamed CHARACTER_SET to PCRE_CHARACTER_SET


Revision 94696 - Directory Listing
Modified Tue Mar 25 03:21:16 2014 UTC (5 years, 10 months ago) by manus
Use highest level of void-safety.


Revision 94592 - Directory Listing
Modified Thu Mar 13 07:06:44 2014 UTC (5 years, 10 months ago) by jfiat
Added iron package files for upcoming iron functionalities (local file system iron repository)

Revision 94473 - Directory Listing
Modified Fri Feb 21 21:59:47 2014 UTC (5 years, 11 months ago) by manus
Made it compile by adding a default controller class. Note that other controllers are available in ../controllers.
Also fixed EXECUTOR to not call `clean_db_for_testing' since this routine doesn't seem to exist anymore.


Revision 94472 - Directory Listing
Modified Fri Feb 21 21:51:35 2014 UTC (5 years, 11 months ago) by manus
Made code compile since now `make' from TUPLE has been removed as this is not void-safe.


Revision 94471 - Directory Listing
Modified Fri Feb 21 21:47:52 2014 UTC (5 years, 11 months ago) by manus
Made code compile by using the proper path to the netssl library.


Revision 94270 - Directory Listing
Modified Wed Feb 12 13:52:23 2014 UTC (5 years, 11 months ago) by javierv
Updated ZLIB library
Removed initial design for compressing and uncompressing stream data 
Updated examples to use the new interface.
Updated file names used by the examples.
Added more descriptions and documentation to the code.


Revision 94242 - Directory Listing
Modified Sat Feb 8 20:42:58 2014 UTC (5 years, 11 months ago) by javierv
ZLIB clean code.

Revision 94239 - Directory Listing
Modified Fri Feb 7 22:21:00 2014 UTC (5 years, 11 months ago) by manus
Fixed syntax error.


Revision 94238 - Directory Listing
Modified Fri Feb 7 21:53:40 2014 UTC (5 years, 11 months ago) by javierv
Zlib interfaces.
Added ZLIB_COMPRESS and ZLIB_UNCOMPRESS as deferred classes.
Implemented ZLIB_STRING_COMPRESS and ZLIB_STRING_UNCOMPRESS.
Added and example.

Revision 94235 - Directory Listing
Modified Fri Feb 7 15:12:40 2014 UTC (5 years, 11 months ago) by javierv
Updated class descriptions

Revision 94234 - Directory Listing
Modified Fri Feb 7 13:49:50 2014 UTC (5 years, 11 months ago) by javierv
Zlib Static libraries
Added compiled version.
Update Readme file.

Revision 94190 - Directory Listing
Modified Wed Feb 5 15:05:12 2014 UTC (5 years, 11 months ago) by javierv
Minor change to ecf files.
Clean code in ssl_protocol_socket.

Revision 94165 - Directory Listing
Modified Tue Feb 4 11:02:29 2014 UTC (5 years, 11 months ago) by javierv
EiffelNetSSL
Removed unnecessary git files.

Revision 94164 - Directory Listing
Modified Tue Feb 4 10:20:50 2014 UTC (5 years, 11 months ago) by javierv
Initial import EiffelNetSSL support.

Revision 94162 - Directory Listing
Modified Mon Feb 3 15:12:06 2014 UTC (5 years, 11 months ago) by jfiat
Updated .ecf to follow usual conventions for path to external C lib
Updated location of include file depending on $ISE_LIBRARY\unstable .. rather than EIFFEL_LIBRARY

Revision 94146 - Directory Listing
Modified Fri Jan 31 14:41:21 2014 UTC (5 years, 11 months ago) by javierv
Zlib update.

Added string to be able to compress and decompress using zlib_data_compression and zlib_data_inflate classes.
Updated example basic functions to show how to use it.



Revision 94139 - Directory Listing
Modified Fri Jan 31 13:07:44 2014 UTC (5 years, 11 months ago) by javierv
Zlib update signatures
Update put_file and to_file using a FILE instead of STRING as argument.

Revision 94136 - Directory Listing
Modified Fri Jan 31 11:31:19 2014 UTC (5 years, 11 months ago) by javierv
Zlib input and output streams
Refactor and rename input and output stream classes to zlib_data_compression and zlib_data_inflate.
Updated example basic_functions, to show how to use the basic Zlib api, and how to use the new stream classes.

Revision 94132 - Directory Listing
Modified Thu Jan 30 19:42:15 2014 UTC (5 years, 11 months ago) by javierv
Added basic functions example based on http://www.zlib.net/zlib_how.html.
Added zlib.ecf and zlib-safe.ecf, to allow user not using void safety use the library.


Revision 94119 - Directory Listing
Modified Wed Jan 29 19:39:38 2014 UTC (5 years, 11 months ago) by javierv
Fixed bug zlib inflate and deflate example.
Clean code.

Revision 94117 - Directory Listing
Modified Wed Jan 29 13:37:12 2014 UTC (5 years, 11 months ago) by javierv
Updated zlib library.


Revision 94103 - Directory Listing
Modified Mon Jan 27 15:06:57 2014 UTC (5 years, 11 months ago) by javierv
Added gz utility functions
Gz utility example (compress/decompress). 



Revision 94088 - Directory Listing
Modified Thu Jan 23 18:59:08 2014 UTC (6 years ago) by javierv
Updated input and output stream.

Using z_stream_end instead of gz_header_end

Revision 94086 - Directory Listing
Modified Thu Jan 23 13:57:16 2014 UTC (6 years ago) by javierv
Zlib example.
Added missing file.

Revision 94085 - Directory Listing
Modified Thu Jan 23 13:52:34 2014 UTC (6 years ago) by javierv
Updated zlib library.

Added tests cases, compress/uncompress, deflate/inflate.

Revision 94055 - Directory Listing
Modified Fri Jan 17 23:31:37 2014 UTC (6 years ago) by romanschmocker
Fixed handling of NULL in database tables in the relational backend.

Revision 94012 - Directory Listing
Modified Wed Jan 15 19:46:57 2014 UTC (6 years ago) by romanschmocker
Updated the PDF tutorial with the new error handling semantics and some other recent changes.

Revision 94000 - Directory Listing
Modified Wed Jan 15 15:31:59 2014 UTC (6 years ago) by javierv
Eiffel Data compress library bzlib
Initial Import

Revision 93992 - Directory Listing
Modified Wed Jan 15 00:25:40 2014 UTC (6 years ago) by romanschmocker
Fixed handling of REAL and DOUBLE in the new backend.

Implemented a simple garbage collection algorithm which is
backend neutral, but only works in a single-user setup.

Fixed a potential bug in the identifier table class for multithreaded
setups.




Revision 93974 - Directory Listing
Modified Mon Jan 13 23:58:56 2014 UTC (6 years ago) by romanschmocker
Added support for SQLite in the new backend.



Revision 93968 - Directory Listing
Modified Mon Jan 13 12:49:12 2014 UTC (6 years ago) by javierv
Initial Import Zlib api wrapper. 
Compression library.

Revision 93957 - Directory Listing
Modified Fri Jan 10 23:54:10 2014 UTC (6 years ago) by romanschmocker
Removed the file of an obsolete class.

Revision 93956 - Directory Listing
Modified Fri Jan 10 23:53:06 2014 UTC (6 years ago) by romanschmocker
Improved handling of managed types by using a PS_TYPE_METADATA instead
of the type name as a string. This avoids some subtle issues regarding
uppercase/lowercase, attached/detachable etc...
Also moved the functionality for storing the information into the backend
itself, instead of having a separate class.




Revision 93955 - Directory Listing
Modified Fri Jan 10 23:10:04 2014 UTC (6 years ago) by romanschmocker
Implemented lazy loading and proper selection (conversion from
a criterion tree to an SQL where clause) in the new relational
backend.



Revision 93948 - Directory Listing
Modified Fri Jan 10 01:31:40 2014 UTC (6 years ago) by romanschmocker
Changed {MYSQL_RELATIONAL_REPOSITORY_FACTORY}.mapping to be private, and added a 'manage' function instead.
Changed the mapping object to store upper-case type names.

Revision 93947 - Directory Listing
Modified Thu Jan 9 23:44:56 2014 UTC (6 years ago) by romanschmocker
Changes in the new backend:

Added an individual REPOSITORY implementation for the relational
backend and moved the backend-specific bits to this class.

Changed the return type of {REPOSITORY_CONNECTOR}.stored_types
from LIST [READABLE_STRING_GENERAL] 
to READABLE_INDEXABLE [IMMUTABLE_STRING_8] 

Moved the initialization code which queries the database for
existing types from the factory to the creation procedure.
Rewrote the code to be smarter and only use one SQL query.

Introduced the concept of unmanaged types:
For unmanaged types, ABEL doesn't track the objects identity
and doesn't care about primary keys. It only takes the data
and stores it to the database.
By default all objects used in the new backend are unmanaged.

If a type gets declared as managed, ABEL will handle primary
key generation, and the user is not allowed to touch the primary
key any more.



Revision 93940 - Directory Listing
Modified Thu Jan 9 02:06:16 2014 UTC (6 years ago) by romanschmocker
Added a mechanism that allows a backend to do some post-processing
after a write, by providing an agent to the upper layers.
The new backend makes use of this mechanism to update an
auto-incremented primary key.



Revision 93939 - Directory Listing
Modified Thu Jan 9 00:28:24 2014 UTC (6 years ago) by romanschmocker
Added a system to add additional expanded types in ABEL core.
The main change is the addition of an `is_expanded' query in
REPOSITORY and the changes in other classes to use this query
instead of {TYPE}.is_expanded.

Changed initialization of new backend to treat tables without
a primary key as expanded types. This checking is entirely done
in the factory class, and at the moment MySQL specific.




Revision 93925 - Directory Listing
Modified Wed Jan 8 01:08:11 2014 UTC (6 years ago) by romanschmocker
Implemented 'stored_types' in the new backend.

Revision 93923 - Directory Listing
Modified Wed Jan 8 00:34:21 2014 UTC (6 years ago) by romanschmocker
Added a mechansim for the user to declare an attribute as primary key in the new backend.
ABEL will then automatically generate new primary keys using auto increment.

Revision 93922 - Directory Listing
Modified Tue Jan 7 22:39:01 2014 UTC (6 years ago) by romanschmocker
Implemented a simple write mechanism for the new backend.




Revision 93910 - Directory Listing
Modified Tue Jan 7 00:06:56 2014 UTC (6 years ago) by romanschmocker
Added a new backend to read existing layouts.

The backend currently only works read-only, and only
on the following conditions:

1) The class is flat, i.e. no references except STRING.
2) The table name is equal to the class name in lowercase.
3) Each attribute has a column with the same name in the database.
4) There is no REAL or DOUBLE attribute (doesn't work because currently 
ABEL works with their bit representation to have exact results).

As EiffelStore has the same requirements for its object-relational mapping
(except point 4), ABEL can now be used to read a database and store
the result in business classes used in existing projects.

This patch also includes a small unit test to read out table test_person.
The test data needs to be inserted manually though.



Revision 93907 - Directory Listing
Modified Mon Jan 6 23:47:25 2014 UTC (6 years ago) by romanschmocker
Moved transaction and connection handling from
PS_GENERIC_LAYOUT_READONLY_BACKEND to its own class.
This allows sharing some code with the soon-to-be-committed
new backend.

Added an `out' function to TEST_PERSON.

Found a potential bug in IDENTIFIER_TABLE and added a fixme statement.




Revision 93891 - Directory Listing
Modified Fri Jan 3 23:19:45 2014 UTC (6 years ago) by romanschmocker
Some cleanup in the SQLite and MySQL connectors and the ESCHER plugin.



Revision 93890 - Directory Listing
Modified Fri Jan 3 22:44:21 2014 UTC (6 years ago) by romanschmocker
Moved an obsolete tutorial class to the obsolete folder.

Revision 93889 - Directory Listing
Modified Fri Jan 3 22:37:51 2014 UTC (6 years ago) by romanschmocker
Adapted the tutorial to the new error handling semantics.
Fixed some wrong contracts and ironed out some rough edges
in the new semantics  as well.




Revision 93884 - Directory Listing
Modified Fri Jan 3 01:59:54 2014 UTC (6 years ago) by romanschmocker
Improved in-memory backend by using type as a hash key.
Replaced some outdated comments by <Precursor> and deleted some
dead code.

Removed a double initialization of the PS_AGENT_CRITERION_REMOVER plugin
in the SQL backend and made it remember the plugin list during `wipe_out'.
Also replaced most header comments with <Precursor> and checked identation
for code comments.

Searched for comments and variables which still refer to PS_BACKEND
instead of REPOSITORY_CONNECTOR and renamed them.



Revision 93876 - Directory Listing
Modified Fri Jan 3 00:45:59 2014 UTC (6 years ago) by romanschmocker
Various changes:

*) Fixed a type error in BACKEND_COLLECTION.
*) Removed most copy-pasted header comments in the handler directory by 
	-- <Precursor>
   to avoid them getting out of date.
*) Identified some shared code between TUPLE_HANDLER and SPECIAL_HANDLER
   and moved it to COLLECTION_HANDLER.
*) Changed {HANDLER}.as_string_pair to only return the value, and not a [value, type] tuple.
*) Many comment fixes and variable renames.




Revision 93870 - Directory Listing
Modified Thu Jan 2 20:22:38 2014 UTC (6 years ago) by romanschmocker
Improved PS_BACKEND_COLLECTION:
Added some features in order to export the internal data structure
to NONE, and changed the storage to two arrayed lists instead of
one list with many small tuples.



Revision 93864 - Directory Listing
Modified Wed Jan 1 00:08:26 2014 UTC (6 years ago) by romanschmocker
Comment fixes and cleanup in the core/framework directory. 

Renamed PS_BACKEND_ENTITY.metadata to 'type'.

Revision 93861 - Directory Listing
Modified Tue Dec 31 22:08:22 2013 UTC (6 years ago) by romanschmocker
Added an argument in the REPOSITORY_CONNECTOR.retrieve function which allows the backend to filter non-root objects early.

Revision 93860 - Directory Listing
Modified Tue Dec 31 19:33:34 2013 UTC (6 years ago) by romanschmocker
Some comment fixes and cleanup in core/utilities and core/sql_connector_interface

Revision 93859 - Directory Listing
Modified Tue Dec 31 19:01:06 2013 UTC (6 years ago) by romanschmocker
Checked all comments and contracts in the API classes.

Revision 93850 - Directory Listing
Modified Tue Dec 31 00:40:45 2013 UTC (6 years ago) by romanschmocker
Updated file names after previous class rename.

Revision 93849 - Directory Listing
Modified Tue Dec 31 00:39:31 2013 UTC (6 years ago) by romanschmocker
Renamed PS_BACKEND to PS_REPOSITORY_CONNECTOR and PS_READ_ONLY_BACKEND TO PS_READ_REPOSITORY_CONNECTOR.

Revision 93847 - Directory Listing
Modified Tue Dec 31 00:23:36 2013 UTC (6 years ago) by romanschmocker
Re-enabled a contract in PS_BACKEND, and fixed an invariant violation in PS_TRANSACTION during exceptional control flow.

Revision 93845 - Directory Listing
Modified Mon Dec 30 23:59:25 2013 UTC (6 years ago) by romanschmocker
Improved error handling:

*) Pushed the rescue and retry statements down to the implementation level.
This makes it easier to change error handling due to fewer occurrences.

*) Added support functions in INTERNAL_TRANSACTION to set a default error.

*) Improved control flow and fixed some bugs in exceptional cases. Previously
there were always some further assertion violation when an exception was raised.

*) Changed the semantics to not silently ignore contract violations and language
exceptions (i.e. the bugs that happen during development). This should make testing
a lot easier because the stack traces are conserved.
Furthermore, as every `retry' statement needs to go through
{INTERNAL_TRANSACTION}.is_retry_allowed, it is pretty easy to switch back to the old
semantics.




Revision 93844 - Directory Listing
Modified Mon Dec 30 19:38:41 2013 UTC (6 years ago) by romanschmocker
Removed all obsolete classes into the obsolete folder, and renamed the file for PS_PRIMARY_KEY_TABLE according to the new class name.

Revision 93843 - Directory Listing
Modified Mon Dec 30 19:34:59 2013 UTC (6 years ago) by romanschmocker
Some changes in PS_KEY_POID_TABLE:

Renamed it to PS_PRIMARY_KEY_TABLE.
Removed all unnecessary features.
Changed it from a global data structure to a transaction-local.
Removed all occurrences of the global structure.





Revision 93842 - Directory Listing
Modified Mon Dec 30 18:56:58 2013 UTC (6 years ago) by romanschmocker
Added a slow search function in PS_IDENTIFIER_TABLE
for cases where building a hash table for a single lookup is too
much.

Removed the old PS_OBJECT_IDENTIFICATION_MANAGER and support classes
from the system.



Revision 93841 - Directory Listing
Modified Mon Dec 30 18:20:05 2013 UTC (6 years ago) by romanschmocker
Adjusted traversal algorithm to use PS_IDENTIFIER_TABLE.

This new table should be faster because it can do a hash lookup
based on POINTER, instead of traversing the list. The drawback
is that garbage collection has to be disabled for a short time, 
and that the lookup table has to be recreated for every traversal.




Revision 93832 - Directory Listing
Modified Sat Dec 28 02:04:31 2013 UTC (6 years ago) by romanschmocker
Changed error handling in the API:

Now if an error happens either in PS_TRANSACTION or 
PS_QUERY, their attributes `has_error' is set to true.
The exception raised by the ABEL backend is no longer
propagated to the user. Instead, every function has
a precondition `not has_error'.

This change triggered a lot of contract and control flow
changes, thus a regression is likely. The unit and
performance tests however pass, and the tutorial works
as long as there is no error.

There's some further work necessary, e.g.  adapting the
tutorial to the changed semantics or checking exception 
propagation and rescue statements.

Also fixed a bug in the MySQL backend where connections
do not get closed correctly.




Revision 93827 - Directory Listing
Modified Fri Dec 27 21:54:30 2013 UTC (6 years, 1 month ago) by romanschmocker
Added a new class to do object identification, using pointers as hash codes.

Revision 93823 - Directory Listing
Modified Fri Dec 27 01:28:25 2013 UTC (6 years, 1 month ago) by romanschmocker
Replaced most linked lists with arrayed lists, and improved transaction handling in OBJECT_IDENTIFICATION_MANAGER using hash tables.

Revision 93817 - Directory Listing
Modified Fri Dec 27 00:21:05 2013 UTC (6 years, 1 month ago) by romanschmocker
Some cleanup and comment fixes in READ_MANAGER and QUERY_CURSOR.

Revision 93816 - Directory Listing
Modified Thu Dec 26 20:17:12 2013 UTC (6 years, 1 month ago) by romanschmocker
Some feature header comment updates and fixes.

Revision 93815 - Directory Listing
Modified Thu Dec 26 19:50:30 2013 UTC (6 years, 1 month ago) by romanschmocker
Adjusted the interface for primary-key based collection retrieve, similar to how it's done for objects.

Revision 93814 - Directory Listing
Modified Thu Dec 26 19:11:51 2013 UTC (6 years, 1 month ago) by romanschmocker
Added a factory function for internal transactions in
PS_REPOSITORY.

Added a unique identifier in PS_INTERNAL_TRANSACTION
to make those objects hashable.

Improved Transaction -> Connection lookup in SQL backends
by using a hash table.



Revision 93813 - Directory Listing
Modified Thu Dec 26 18:35:16 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed a bug and added a regression test. A collection shrinking 
operation didn't work correctly in both SQL backends.
 


Revision 93805 - Directory Listing
Modified Wed Dec 25 00:36:37 2013 UTC (6 years, 1 month ago) by romanschmocker
Solved a `fixme' statement in PREDEFINED_CRITERION.


Revision 93802 - Directory Listing
Modified Wed Dec 25 00:18:42 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented setting the transaction isolation based on TRANSACTION_SETTINGS, instead of TRANSACTION_ISOLATION_LEVEL.

Revision 93801 - Directory Listing
Modified Tue Dec 24 23:33:59 2013 UTC (6 years, 1 month ago) by romanschmocker
Changed the METADATA_TABLES_MANAGER to use immutable strings for class names,
which avoids some senseless conversions.



Revision 93800 - Directory Listing
Modified Tue Dec 24 23:10:37 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented PS_BACKEND_COLLECTION.is_subset_of, and used it in a contract in PS_BACKEND.

Revision 93799 - Directory Listing
Modified Tue Dec 24 22:56:47 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented {DEFAULT_REPOSITORY}.can_handle.


Revision 93798 - Directory Listing
Modified Tue Dec 24 22:21:55 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented proper error handling in the SQLite backend.

Revision 93797 - Directory Listing
Modified Tue Dec 24 21:25:00 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented some of the last missing features like setting
the root status and maintaining a list of active queries, and
added some more contracts in the API features.




Revision 93796 - Directory Listing
Modified Tue Dec 24 18:17:08 2013 UTC (6 years, 1 month ago) by romanschmocker
Changed the internal storage of PS_BACKEND_OBJECT to use
two hash tables instead of one filled with tuple objects.

Fixed a bug in the SQLite backend which caused the tests
to fail on a completely new database.




Revision 93793 - Directory Listing
Modified Tue Dec 24 00:04:28 2013 UTC (6 years, 1 month ago) by romanschmocker
Started to optimize write process:

*) Instead of creating a twin of a REFLECTED_OBJECT, the write
algorithm will try to reuse the inherited version in PS_OBJECT_WRITE_DATA.

*) The KEY_POID_TABLE now has two hash tables for types and primary keys,
instead of using tuples to store both in only one hash table.

*) The METADATA_FACTORY now has an INTERNAL object as an attribute.



Revision 93792 - Directory Listing
Modified Mon Dec 23 19:55:13 2013 UTC (6 years, 1 month ago) by romanschmocker
Some more performance improvements:

*) PS_QUERY_CURSOR now uses an integer interval to store
the already processed items, and only changes to an array
when the items are no longer continuous.

*) READ_MANAGER.process_step uses local integer variables
instead of creating cursor objects all the time.

*) STRING_HANDLER now compares objects based on type id.

*) Some micro-optimization in DEFAULT_OBJECT_HANDLER.




Revision 93784 - Directory Listing
Modified Sat Dec 21 01:23:27 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented a major optimization.

Instead of keeping PS_OBJECT_READ_DATA objects, a fully
initialized object gets copied directly to the underlying
storage array, and the PS_OBJECT_READ_DATA wrapper is 
reused for a future object. This reduces memory usage
(and thus garbage collector stress) to such an extent 
that execution time is halved.



Revision 93783 - Directory Listing
Modified Fri Dec 20 23:20:22 2013 UTC (6 years, 1 month ago) by romanschmocker
Some cleanup and smaller changes:

*) Enabled function inlining in ECF.
*) Changed the READ_MAANGER algorithm to always use integer intervals.
*) Added a function `object_item' to access fully initialized objects.
This is a prepraration for the next step where I want to recycle the
reflector objects and directly store initialized objects in the array.

Also added a new utility PS_LOOKUP_TABLE which is basically a
double hash table. So far it is unused however.



Revision 93778 - Directory Listing
Modified Fri Dec 20 02:32:54 2013 UTC (6 years, 1 month ago) by romanschmocker
Some more optimizations:

*) {READ_ONLY_BACKEND}.apply_plugins will not be called any more when
there are no plugins.
*) Instead of an ARRAYED_LIST, the read manager uses its own SPECIAL object.
*) TYPE_METADATA caches its hash_code.





Revision 93777 - Directory Listing
Modified Fri Dec 20 00:49:06 2013 UTC (6 years, 1 month ago) by romanschmocker
A small improvement with a big effect:
Instead of creating a REFLECTED_OBJECT for every object
during retrieval, the PS_OBJECT_DATA now inherits from
REFLECTED_REFERENCE_OBJECT. A special reflector object is
therefore only needed for expanded types.





Revision 93774 - Directory Listing
Modified Thu Dec 19 19:24:29 2013 UTC (6 years, 1 month ago) by romanschmocker
Several changes:

*) Changed the backend interface to accept two ARRAYED_LISTs with
object primary keys and types, instead of one list filled with TUPLE
with the same information. This avoids having to create many little tuples.

*) Changed the in-memory backend to directly implement the backend interface
instead of relying on the converter utility.

*) Fixed a bug and added a regression test: When the object initialization depth
is not set to infinity, there might be cases where an object wasn't loaded to its
full depth. This was mainly because of caching inside the READ_MANAGER. The fix
is a rather drastic approach: the cache inside the read manager just gets wiped out
when the object initialization depth isn't set to `infinity'.





Revision 93766 - Directory Listing
Modified Thu Dec 19 13:47:06 2013 UTC (6 years, 1 month ago) by jfiat
Added default criterion
Added the possibility to set the criteria description after adding the criteria builder.
Added `short_description'

Revision 93762 - Directory Listing
Modified Wed Dec 18 23:11:26 2013 UTC (6 years, 1 month ago) by romanschmocker
Some cleanup and removal of obsolete features.

Revision 93761 - Directory Listing
Modified Wed Dec 18 21:33:00 2013 UTC (6 years, 1 month ago) by jfiat
Added Criteria library to implement the criteria pattern.


Revision 93760 - Directory Listing
Modified Wed Dec 18 20:05:24 2013 UTC (6 years, 1 month ago) by romanschmocker
Further performance improvements:

*) Added two new functions in READ_MANAGER which should avoid
some unnecessary and costly checks. The price is a violation
of the command-query separation, but I think in this case it's
acceptable.

*) Removed {PS_OBJECT_READ_DATA}.to_initialize. The reduced memory
usage is worth more than avoiding to recompute the type.

*) Added an attribute to INTERNAL_TRANSACTION to store the associated
identifier set. This avoids an expensive lookup.

The set of patches can reduce execution time by about 30%.




Revision 93755 - Directory Listing
Modified Wed Dec 18 00:09:55 2013 UTC (6 years, 1 month ago) by romanschmocker
Rewrote {DEFAULT_OBJECT_HANDLER}.initialize_backend_representation. The new version has a inspect-block to separate between builtin types, which should speed up things a bit.

Revision 93754 - Directory Listing
Modified Tue Dec 17 22:37:28 2013 UTC (6 years, 1 month ago) by romanschmocker
Further performance improvements, now for writing objects:

*) Avoid creating a PS_PAIR which gets converted to a TUPLE
in {BACKEND_OBJECT}.add_attribute.

*) Use across-syntax instead of an agent-based loop in WRITE_MANAGER.

*) Use some of the precomputed values in 
{DEFAULT_OBJECT_HANDLER}.initialize_backend_representation.



Revision 93752 - Directory Listing
Modified Tue Dec 17 21:56:16 2013 UTC (6 years, 1 month ago) by romanschmocker
Some smaller adjustments and changes to improve performance.

Revision 93749 - Directory Listing
Modified Tue Dec 17 18:44:21 2013 UTC (6 years, 1 month ago) by romanschmocker
Performance improvements:

*) Moved {OBJECT_DATA}.references to OBJECT_WRITE_DATA, because
it isn't needed for reading.

*) Removed {OBJECT_DATA}.referers: Complete information about referers
is never used. If in the future a HANDLER wants to map to a relation, it
can only work with a single referer anyway. The only thing it needs to
know is if there are more handlers, to report an error.
Therefore the new mechanism removes the ARRAYED_LIST and introduces
two integers `last_referer' and `referer_count'.

*) Moved {OBJECT_DATA}.to_initialize to OBJECT_READ_DATA, because
it isn't needed for writing.



Revision 93748 - Directory Listing
Modified Tue Dec 17 17:48:33 2013 UTC (6 years, 1 month ago) by romanschmocker
Starting to split OBJECT_DATA.

The idea is to avoid allocating unneeded memory
during read operations for data structures that 
are only used during a write, and vice versa.

This commit makes OBJECT_DATA deferred
and adds two subclasses which can be used for
reading and writing. The ABSTRACT_MANAGER got
a generic argument in order to handle both types
of OBJECT_DATA, and the types in READ_MANAGER,
WRITE_MANAGER and all the handlers are adjusted
to use the new subclasses.

Additionally there's a bug fix for TYPE_METADATA
when dealing with the NONE type.




Revision 93740 - Directory Listing
Modified Tue Dec 17 02:14:04 2013 UTC (6 years, 1 month ago) by romanschmocker
Some more changes to improve performance:

*) Added a mechanism to store an instance of PS_TYPE_METADATA
between {HANDLER}.initialize and {HANDLER}.finish_initialize.

*) Added a query in METADATA_MANAGER to get a type based on
a string.

*) Changed the in-memory backend to return an alias of its 
internal database instead of a copy whenever it's safe.
That way it is easier to measure the pure performance of
the upper layers.



Revision 93739 - Directory Listing
Modified Mon Dec 16 22:01:48 2013 UTC (6 years, 1 month ago) by romanschmocker
Several changes to improve performance:

*) For read-only queries, ABEL does no longer identify an object,
as the object cannot be used for a subsequent write operation
anyway.

*) Instead of using reflection, the attribute name and static type
gets cached in TYPE_METADATA.

*) ABSTRACT_MANAGER maintains a hash table to quickly map a handler
to a specific type.

*) BACKEND_OBJECT no longer stores PS_PAIR (an obsolete concept anyway)
and has a new function to directly access its hash table. This avoids
a "double-lookup" which first checks if the attribute is present and 
then retrieves the attribute.

*) QUERY_CURSOR now generates and passes along ARRAYED_LIST instead of
LINKED_LIST.

*) Some changes in DEFAULT_OBJECT_HANDLER and READ_MANAGER to avoid
a string comparison against "NONE".




Revision 93725 - Directory Listing
Modified Sat Dec 14 01:26:18 2013 UTC (6 years, 1 month ago) by romanschmocker
Replaced some 'do_all_in_set' occurrences in READ_MANAGER.process_step with the across construct, and replaced a LINKED_LIST with an ARRAYED_LIST in BACKEND_CONVERTER to remove a performance bottleneck.

Revision 93724 - Directory Listing
Modified Sat Dec 14 00:20:32 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed coding style (space before parenthesis) for test suite, and changed CRITERIA_TESTS to use new parenthesis alias for creating criteria.

Revision 93723 - Directory Listing
Modified Fri Dec 13 23:59:52 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed the tuple type for agent criteria.

Revision 93722 - Directory Listing
Modified Fri Dec 13 23:42:02 2013 UTC (6 years, 1 month ago) by romanschmocker
Removed all occurrences of {PS_ABEL_EXPORT}.attach.

Revision 93721 - Directory Listing
Modified Fri Dec 13 20:02:18 2013 UTC (6 years, 1 month ago) by romanschmocker
Moved some functionality out of ABEL_EXPORT, and removed all attach() calls in PS_TRANSACTION by making the internal transaction attribute attached.

Revision 93720 - Directory Listing
Modified Fri Dec 13 19:04:43 2013 UTC (6 years, 1 month ago) by romanschmocker
Introduced the parenthesis alias for creating new criteria objects in CRITERION_FACTORY, and simplified the code a little by using tagged tuples.

Revision 93719 - Directory Listing
Modified Fri Dec 13 18:48:58 2013 UTC (6 years, 1 month ago) by romanschmocker
Removed PS_NO_ERROR from the system and made all PS_ERROR attributes throughout the system detachable.

Revision 93707 - Directory Listing
Modified Fri Dec 13 01:27:26 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed some smaller issues like coding style, comments, missing contracts etc...

Revision 93702 - Directory Listing
Modified Thu Dec 12 02:07:49 2013 UTC (6 years, 1 month ago) by romanschmocker
Using {detachable READABLE_STRING_GENERAL} instead of the attached version in TUPLE_QUERY.default_projection.

Revision 93701 - Directory Listing
Modified Thu Dec 12 00:01:10 2013 UTC (6 years, 1 month ago) by romanschmocker
Added comments explaining why the check instructions in TUPLE_QUERY are safe, and fixed a typo in CRITERION_FACTORY.

Revision 93700 - Directory Listing
Modified Wed Dec 11 23:49:47 2013 UTC (6 years, 1 month ago) by romanschmocker
Added a space in front of each opening bracket or parenthesis for all classes in abel_core.

Revision 93699 - Directory Listing
Modified Wed Dec 11 22:59:53 2013 UTC (6 years, 1 month ago) by romanschmocker
Updated comment of {REPOSITORY_FACTORY}.make_uninitialized.

Revision 93698 - Directory Listing
Modified Wed Dec 11 22:38:51 2013 UTC (6 years, 1 month ago) by romanschmocker
Some removal of commented code.

Revision 93697 - Directory Listing
Modified Wed Dec 11 22:29:05 2013 UTC (6 years, 1 month ago) by romanschmocker
Some comment updates in PS_REPOSITORY and PS_CRITERION_FACTORY.

Revision 93696 - Directory Listing
Modified Wed Dec 11 21:53:30 2013 UTC (6 years, 1 month ago) by romanschmocker
Renamed the sample folder as examples, and changed the ecf of the tutorial to use full void safety.

Revision 93695 - Directory Listing
Modified Wed Dec 11 21:36:50 2013 UTC (6 years, 1 month ago) by romanschmocker
Restored full void safety in core.ecf (it somehow got disabled 
at some point...) and fixed two void safety issues 
in ABSTRACT_QUERY and descendants to make it compile again.
Also cleaned up the core.ecf file itself, removing some 
unnecessary clusters, settings and file rules.



Revision 93691 - Directory Listing
Modified Wed Dec 11 02:10:46 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed another serious performance issue:

READ_MANAGER.process_next iterated over the set to_process_next.
The initial assumption was that this set would be small all the time.
This is not true any more however since ABEL learned to process a batch
of objects at once. This commit fixes the issue by using the cache
inside the READ_MANAGER.




Revision 93690 - Directory Listing
Modified Wed Dec 11 01:18:28 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed a nasty performance issue in the MySQL backend which was caused by using a LINKED_LIST and repeatedly extending at the end of the list, without moving the cursor.

Revision 93688 - Directory Listing
Modified Tue Dec 10 23:11:31 2013 UTC (6 years, 1 month ago) by romanschmocker
Finished framework for automated performance testing: added shell script, controllers for MySQL and the in-memory database, and refined the original framework.

Revision 93678 - Directory Listing
Modified Tue Dec 10 01:36:34 2013 UTC (6 years, 1 month ago) by romanschmocker
Added initial version for a framework for performance tests.

The main part of the new framework is the EXECUTOR containing
some backend-agnostic tests and an EMITTER, which can 
stop the time and generate output (as a CSV file or stdout).

The idea is to later have different CONTROLLER classes which
create specific backends and can be copy-pasted automatically
by a shell script, before compiling in finalized mode and
starting the test.




Revision 93650 - Directory Listing
Modified Sat Dec 7 00:07:28 2013 UTC (6 years, 1 month ago) by romanschmocker
Removed the old features for retrieval of a single object in the GENERIC_LAYOUT_SQL_READONLY_BACKEND, and fixed a bug in the in-memory backend.

Revision 93649 - Directory Listing
Modified Fri Dec 6 23:46:37 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented batch retrieve for collections as well in the SQLite and MySQL backends.

Revision 93648 - Directory Listing
Modified Fri Dec 6 22:32:00 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented batch retrieval by primary key for the MySQL and
SQLite backend, at least for objects. Also did some renaming
and updates of comments.



Revision 93646 - Directory Listing
Modified Fri Dec 6 19:53:04 2013 UTC (6 years, 1 month ago) by romanschmocker
Adapted the plugin interface to the new semantics of PS_READ_ONLY_BACKEND.retrieve_specific.

Some cleanup and renames in PS_READ_ONLY_BACKEND.

Revision 93645 - Directory Listing
Modified Fri Dec 6 19:39:52 2013 UTC (6 years, 1 month ago) by romanschmocker
Added a utility class which implements the new batch retrieval
functions in PS_READ_ONLY_BACKEND to the old, single-object
retrieval functions. This allowed to clean up the interface
of READ_ONLY_BACKEND and remove all unneeded functionality.

Also changed the semantics of retrieve by primary key: Instead
of loading only the requested attributes, a backend should
just return the complete object (which was actually the
normal behaviour for all existing backends anyway).



Revision 93644 - Directory Listing
Modified Fri Dec 6 18:11:57 2013 UTC (6 years, 1 month ago) by romanschmocker
Added an interface for batch retrieval of collections on READ_ONLY_BACKEND, and made the READ_MANAGER use it.

Revision 93634 - Directory Listing
Modified Fri Dec 6 01:34:56 2013 UTC (6 years, 1 month ago) by romanschmocker
Added a new function for batch retrieval in READ_ONLY_BACKEND,
and made the READ_MANAGER use it.



Revision 93632 - Directory Listing
Modified Fri Dec 6 00:21:32 2013 UTC (6 years, 1 month ago) by romanschmocker
Fixed an initialization issue in CouchDB and removed two obsolete classes. Fixed the test for object initialization depth in combination with lazy loading.

Revision 93631 - Directory Listing
Modified Thu Dec 5 23:55:34 2013 UTC (6 years, 1 month ago) by romanschmocker
Improved the way additional attributes get handled.

For tuple queries it is important that the backend only
loads the attributes defined in the projection array.
Otherwise all possible performance gain is lost...

Up to now a dedicated PS_PLUGIN was used to remove
superfluous attributes. The drawbacks of this approach
was that there was an overhead for normal queries as
well (where additional attributes aren't a problem)
and the initialization was tricky, because e.g.
the ESCHER plugin depends on the added `version'
attribute (and besides it never actually worked...).

The new mechanism (implemented in QUERY_CURSOR and 
BACKEND_OBJECT) only filters objects for tuple
queries, does not interfere with other plugins,
and should in theory be faster due to using a hash
table for attribute lookup.



Revision 93630 - Directory Listing
Modified Thu Dec 5 21:34:42 2013 UTC (6 years, 1 month ago) by romanschmocker
Removed some unnecessary features in ABSTRACT_QUERY, and added a boolean query parameter to enable or disable loading of subtypes in a query.

Revision 93629 - Directory Listing
Modified Thu Dec 5 19:51:43 2013 UTC (6 years, 1 month ago) by romanschmocker
Some cleanup in READ_MANAGER and others.

Revision 93628 - Directory Listing
Modified Thu Dec 5 19:33:19 2013 UTC (6 years, 1 month ago) by romanschmocker
Moved the features for query execution from the
READ_MANAGER to DEFAULT_REPOSITORY.

Added utility features in TUPLE_QUERY to map
from an attribute name to its field index,
and to generate a tuple type based on the 
projection array.

Moved the features for building and initializing
a tuple result from the READ_MANAGER to TUPLE_QUERY.



Revision 93624 - Directory Listing
Modified Thu Dec 5 01:39:17 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented subtype support in queries:

For a QUERY [G], ABEL will now return any subtypes of 
G as well. To do so ABEL first asks the backend about
the available types, and then issues a query for all
subtypes as well.

Created new PS_QUERY_CURSOR:

The new class implements functionality from the 
READ_MANAGER, mainly the control over results
from the backend. The QUERY_CURSOR acts as an
internal iteration cursor for any ABSTRACT_QUERY
(without the ABSTRACT_QUERY being required to
know the implementation of QUERY_CURSOR)
and issues the correct commands to the read
manager to lazily load the required objects.

In the future the idea is to fully decouple
read_manager and query objects. This would 
allow different queries to share the same
read manager and thus having a shared cache. 

The change currently breaks one test case
covering the initialization depth of a query.
Other tests may break when in the wrong order,
because a PS_QUERY [ANY] suddenly returns 
a whole lot more objects than before.



Revision 93616 - Directory Listing
Modified Tue Dec 3 23:42:04 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented a query to get the stored types for all backends except CouchDB.

Deleted some unused features in GENERIC_CRUD_TEST.



Revision 93614 - Directory Listing
Modified Tue Dec 3 19:28:57 2013 UTC (6 years, 1 month ago) by romanschmocker
Simplified the interface of REPOSITORY and descendants by moving the 'next_entry' functions to QUERY, merging the insert and update functions, and removing any unused function.

Revision 93599 - Directory Listing
Modified Tue Dec 3 01:23:51 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented functionality in RESULT_CURSOR in ABSTRACT_QUERY itself, and removed all traces of RESULT_CURSOR within ABSTRACT_QUERY.

Revision 93598 - Directory Listing
Modified Tue Dec 3 01:10:05 2013 UTC (6 years, 1 month ago) by romanschmocker
Added unimplemented features 'active_queries' and 'active_transactions'
to REPOSITORY, which will serve a similar purpose as TRANSACTIION.active_queries
in the future.

Added some features in ABSTRACT_QUERY to wrap features in RESULT_CURSOR.
Changed every direct access to PS_QUERY.result_cursor to use the new wrappers.




Revision 93596 - Directory Listing
Modified Mon Dec 2 23:26:10 2013 UTC (6 years, 1 month ago) by romanschmocker
Removed DEFAULT_REPOSITORY.read_manager_cache. The mapping query -> read_manager is now
stored in a query object itself. This change allowed some cleanup in ABSTRACT_QUERY as
well.

Added a `stable_cursor' attribute in ABSTRACT_QUERY for some test that still rely on
`result_cursor', and changed all tests to use the new cursor.

Added a new query `object_types' to READ_ONLY_BACKEND which should return all object
types stored in the database. Also renamed `lazy_loading_batch_size' to
`batch_retrieval_size' and added an invariant.




Revision 93566 - Directory Listing
Modified Wed Nov 27 23:36:22 2013 UTC (6 years, 1 month ago) by romanschmocker
Renamed file application.e to quick_start.e, to fix a warning.

Revision 93565 - Directory Listing
Modified Wed Nov 27 22:58:16 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented support for inserting and querying value types, such as STRING. 

The changes mainly affect the deferred class VALUE_TYPE_HANDLER, which 
can now act as a normal handler if it realizes that the root object is 
a value type. The value gets wrapped in a BACKEND_OBJECT instance with
the fake attribute "ps_value_type_item", which was introduced in the
last commit.



Revision 93564 - Directory Listing
Modified Wed Nov 27 22:47:05 2013 UTC (6 years, 1 month ago) by romanschmocker
Implemented a loophole in the tight contracts of the backend objects, such
that value types can be mapped to a BACKEND_OBJECT containing just one 
attribute "ps_value_type_item". The constant string is defined in ABEL_EXPORT.




Revision 93563 - Directory Listing
Modified Wed Nov 27 22:29:51 2013 UTC (6 years, 1 month ago) by romanschmocker
Changed some contracts in REPOSITROY and RESULT_CURSOR to take into account expanded objects cannot be identified.



Revision 93562 - Directory Listing
Modified Wed Nov 27 22:27:02 2013 UTC (6 years, 1 month ago) by romanschmocker
Changed the failing tests in PS_EXPERIMENTS to make them pass (else they pollute the AutoTest results). Changed the generic CRUD test to not call update on expanded types.

Revision 93550 - Directory Listing
Modified Wed Nov 27 01:09:35 2013 UTC (6 years, 2 months ago) by romanschmocker
Implemented support for copy-semantics objects.

This commit enables support for referenced objects with
copy-semantics (in SPECIAL and normal objects) and expanded
objects embedded in other objects (including other expanded
objects).

The only case which is currently not working is SPECIAL [XX], 
where XX is a user-defined expanded object. The reason is
that there is currently no mechanism to create such objects
via reflection.

In order to handle copy-semantics, several other changes had to be made:

1) OBJECT_IDENTIFICATION_MANAGER can now generate dummy values.
2) The order of initialize and finish_initialize in READ_MANAGER.process_step is switched.
3) The hash-table fix is now in SPECIAL and works on any SPECIAL[STRING].
4) Some small API and test suite changes to take into account that copy-semantics objects don't have an identity




Revision 93522 - Directory Listing
Modified Fri Nov 22 23:57:11 2013 UTC (6 years, 2 months ago) by romanschmocker
Added a more precise postcondition in {PS_TRANSACTION}.insert which implies that expanded types will not be identified. Moved {PS_TUPLE_QUERY}.basic_types to ABEL_EXPORT and did some cleanup.

Revision 93521 - Directory Listing
Modified Fri Nov 22 22:27:12 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed the bug where setting the root status of a collection didn't work.

Revision 93520 - Directory Listing
Modified Fri Nov 22 21:28:41 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed the way {PS_BACKEND_ENTITY}.is_root gets stored: Instead of adding it as an attribute / additional information automatically, the backends can decide how to best store it.

Revision 93512 - Directory Listing
Modified Thu Nov 21 23:05:49 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed PS_TYPE_METADATA.base_class and consequently PS_CLASS_METADATA.

Revision 93509 - Directory Listing
Modified Thu Nov 21 22:47:45 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed the type of the strings to store the type  in PS_BACKEND_OBJECT and PS_BACKEND_COLLECTION to IMMUTABLE_STRING_8, in order to avoid some copying (and to eventually get rid of PS_CLASS_METADATA).


Revision 93503 - Directory Listing
Modified Thu Nov 21 21:27:26 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed the CouchDB backend to correctly handle Void references and types with generic arguments. This lets three more tests pass.

Revision 93498 - Directory Listing
Modified Thu Nov 21 19:02:07 2013 UTC (6 years, 2 months ago) by romanschmocker
Implemented a proper wipe_out in the CouchDB backend, and fixed an issue with the root status. Now the criteria tests pass again.

Revision 93490 - Directory Listing
Modified Thu Nov 21 01:32:39 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed an outdated ecf file.

Revision 93489 - Directory Listing
Modified Thu Nov 21 01:30:31 2013 UTC (6 years, 2 months ago) by romanschmocker
Implemented {PS_REPOSITORY}.close and changed the database path in SQLite tests to use the 'current directory'

Revision 93488 - Directory Listing
Modified Thu Nov 21 00:57:13 2013 UTC (6 years, 2 months ago) by romanschmocker
Simplified {PS_DEFAULT_REPOSITORY}.clean_db_for_testing

Revision 93487 - Directory Listing
Modified Thu Nov 21 00:40:35 2013 UTC (6 years, 2 months ago) by romanschmocker
Pulled the lazy loading settings from the SQL backend up to the general interface, and made the repository use the features (i.e. PS_REPOSITORY.batch_retrieval_size is now implemented by the SQL backends).

Revision 93486 - Directory Listing
Modified Thu Nov 21 00:01:11 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed a precondition issue in PS_ABSTRACT_QUERY.make_with_criterion


Revision 93485 - Directory Listing
Modified Wed Nov 20 23:11:07 2013 UTC (6 years, 2 months ago) by romanschmocker
In class PS_QUERY: renamed transaction to internal_transaction, and transaction_context to transaction.

Revision 93484 - Directory Listing
Modified Wed Nov 20 22:24:54 2013 UTC (6 years, 2 months ago) by romanschmocker
Added and updated lots of class header comments.

Revision 93483 - Directory Listing
Modified Wed Nov 20 20:00:16 2013 UTC (6 years, 2 months ago) by romanschmocker
Made PS_BACKEND_ENTITY deferred, and added some header comments.

Revision 93481 - Directory Listing
Modified Wed Nov 20 17:53:34 2013 UTC (6 years, 2 months ago) by romanschmocker
Recompiled documentation PDF.

Revision 93480 - Directory Listing
Modified Wed Nov 20 17:52:43 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated documentation according to previous renames, and removed the last warnings and badboxes.

Revision 93478 - Directory Listing
Modified Wed Nov 20 17:39:25 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated file names. And previous commit for the rename was in wrong directory.


Revision 93477 - Directory Listing
Modified Wed Nov 20 17:36:46 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed PS_READ_WRITE_BACKEND to PS_BACKEND and PS_GENERIC_LAYOUT_SQL_READWRITE_BACKEND to PS_GENERIC_LAYOUT_SQL_BACKEND.

Revision 93476 - Directory Listing
Modified Wed Nov 20 17:24:10 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated some sections in technical documentation, and deleted others.

Revision 93465 - Directory Listing
Modified Wed Nov 20 01:29:26 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed a small error in the documentation.

Revision 93463 - Directory Listing
Modified Wed Nov 20 01:12:06 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed file after previous class rename.

Implemented a simple form of direct update for the new write mechanism.




Revision 93460 - Directory Listing
Modified Wed Nov 20 00:52:08 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed PS_NEW_REPOSITORY to PS_DEFAULT_REPOSITORY

Revision 93459 - Directory Listing
Modified Wed Nov 20 00:49:48 2013 UTC (6 years, 2 months ago) by romanschmocker
Moved all obsolete classes to a hidden folder in the ABEL repository.



Revision 93457 - Directory Listing
Modified Wed Nov 20 00:41:21 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed the last references to the old system.

Revision 93455 - Directory Listing
Modified Wed Nov 20 00:34:34 2013 UTC (6 years, 2 months ago) by romanschmocker
Ported the CouchDB initialization to the new factory system.

Revision 93453 - Directory Listing
Modified Wed Nov 20 00:15:22 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed initialization of MANUAL_TEST_MYSQL and MANUAL_TEST_SQLITE
to use the new repository.

Removed the default_create feature from PS_IN_MEMORY_REPOSITORY_FACTORY.



Revision 93452 - Directory Listing
Modified Wed Nov 20 00:07:44 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed initialization of ESCHER_TEST, MANUAL_TEST_IN_MEMORY
and the Tutorial to use the new object graph traversal.



Revision 93451 - Directory Listing
Modified Tue Nov 19 23:58:23 2013 UTC (6 years, 2 months ago) by romanschmocker
Added repository factories for MySQL and SQLite.

The factories are added to hide the complex creation process
of the PS_NEW_REPOSITORY.



Revision 93450 - Directory Listing
Modified Tue Nov 19 23:49:00 2013 UTC (6 years, 2 months ago) by romanschmocker
Added a REPOSITORY implementation which makes use of
the new read/write mechanism introduced in the previous commit.



Revision 93449 - Directory Listing
Modified Tue Nov 19 23:47:36 2013 UTC (6 years, 2 months ago) by romanschmocker
Added the new read/write mechanism.

The main idea is to split the read and write process
into stages. Additionally, the read process has different
iterations when dealing with deep object graphs (iteration
X deals with all objects of depth X)

Write stages:
	1) Identification
	2) Identifier generation
	3) Primary key generation
	4) Command generation
	5) Command initialization
	6) Command execution

Read stages (iteration X):
	1) Data retrieval in X
	2) Object creation in X
	3) Object initialization / preparing X+1
	4) Finish object initialization in X-1

The WRITE_MANAGER and READ_MANAGER control the "loops".
The real work however is done by the HANDLER classes, which
can execute their specialized code at each stage.

This commit introduces a handler for normal objects, TUPLE, 
and SPECIAL. Additionally there is a handler for STRING objects
which maps to a value type. Value type basically means
that those objects are treated as if they are "flat" attributes, 
i.e. no references.




Revision 93448 - Directory Listing
Modified Tue Nov 19 23:28:02 2013 UTC (6 years, 2 months ago) by romanschmocker
Added an object graph traversal algorithm.

The algorithm is defined in PS_OBJECT_GRAPH_TRAVERSAL, which in
turn makes use of the facilities in EiffelBase.
The algorithm basically generates an array of PS_OBJECT_DATA, 
whereas each array element contains a REFLECTED_OBJECT
pointing to the original object, a PS_TYPE_METADATA describing
its type, and a list of all referers and references found
for the object.

The algorithm comes with a small unit test.



Revision 93447 - Directory Listing
Modified Tue Nov 19 23:15:27 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated documentation to consistently use PS_QUERY instead of PS_OBJECT_QUERY.

Revision 93446 - Directory Listing
Modified Tue Nov 19 23:09:34 2013 UTC (6 years, 2 months ago) by romanschmocker
Resurrected a section about TUPLE_QUERY objects in the API documentation.

Revision 93445 - Directory Listing
Modified Tue Nov 19 22:40:45 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated API documentation chapter about error handling, and commented out chapter about CouchDB (as CouchDB is pretty broken in ABEL at the moment)

Revision 93444 - Directory Listing
Modified Tue Nov 19 21:59:39 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated chapter 4 (Reference handling) and removed a chapter about transaction handling.

Revision 93433 - Directory Listing
Modified Tue Nov 19 20:17:11 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed files according to previous class renaming.

Revision 93432 - Directory Listing
Modified Tue Nov 19 20:15:44 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed PS_QUERY to PS_ABSTRACT_QUERY.
Renamed PS_OBJECT_QUERY to PS_QUERY.




Revision 93430 - Directory Listing
Modified Tue Nov 19 20:06:08 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated chapter 3 (Advanced Queries) in API documentation.

Revision 93429 - Directory Listing
Modified Tue Nov 19 19:43:29 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated section 2 (Basic CRUD operations) in API documentation.

Revision 93425 - Directory Listing
Modified Tue Nov 19 01:06:39 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated the first chapter in the ABEL API documentation.

Revision 93424 - Directory Listing
Modified Tue Nov 19 00:06:25 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed the CouchDB tutorial. 

The reason is that most of the code is just copy&paste from the original API 
tutorial (which is outdated as well with the new API).

The only distinct part was the initialization - this will however change in
the future as well.




Revision 93423 - Directory Listing
Modified Mon Nov 18 23:43:23 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed the unnecessary before_write_compatibility function in PS_PLUGIN, and added Manu's 'cosmetics' patch

Revision 93422 - Directory Listing
Modified Mon Nov 18 23:23:39 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed the inheritance from PS_RETRIEVED_COLLECTION to PS_BACKEND_COLLECTION and made the former obsolete.

Revision 93421 - Directory Listing
Modified Mon Nov 18 23:11:28 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed some unnecessary features in CouchDB backend and disabled complilation for classes in core/obsolete


Revision 93420 - Directory Listing
Modified Mon Nov 18 22:56:22 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed {PS_REPOSITORY}.new_transaction_context to new_transaction. Ported the CouchDB backend to the new backend interface.

Revision 93419 - Directory Listing
Modified Mon Nov 18 20:05:14 2013 UTC (6 years, 2 months ago) by romanschmocker
Moved  OBJECT_GRAPH_SETTINGS from REPOSITORY to its compatibility layers. Exported some features in REPOSITORY to NONE.

Revision 93418 - Directory Listing
Modified Mon Nov 18 19:07:33 2013 UTC (6 years, 2 months ago) by romanschmocker
Ported the last few test to the new API. PS_EXECUTOR is now obsolete and can be deleted.

Revision 93412 - Directory Listing
Modified Sat Nov 16 00:45:08 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed tuple query tests to use the new API instead of PS_EXECUTOR

Revision 93411 - Directory Listing
Modified Sat Nov 16 00:29:32 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed criteria tests to use the new API instead of PS_EXECUTOR

Revision 93410 - Directory Listing
Modified Sat Nov 16 00:05:28 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed {TUPLE_QUERY}.attribute_index, as there is a similar function built into ARRAYED_LIST.

Removed some tests in PS_OBJECT_GRAPH_SETTINGS_TESTS and ported others to the new API.



Revision 93409 - Directory Listing
Modified Fri Nov 15 23:27:13 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed type of {TUPLE_QUERY}.projection to ARRAYED_LIST, and implemented a more efficient version of {TUPLE_QUERY}.default_projection.

Revision 93407 - Directory Listing
Modified Fri Nov 15 22:23:33 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed file according to previous class rename.

Revision 93406 - Directory Listing
Modified Fri Nov 15 22:22:26 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed ANOMALY_SETTINGS to TRANSACTION_SETTINGS and fixed initialization of it in all subclasses of REPOSITORY.

Revision 93404 - Directory Listing
Modified Fri Nov 15 19:22:17 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed a compilation error due to a reference from the committed PS_IN_MEMORY_REPOSITORY_FACTROY to my uncommitted factory system.

Revision 93403 - Directory Listing
Modified Fri Nov 15 19:01:10 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed two empty classes in test directory

Revision 93402 - Directory Listing
Modified Fri Nov 15 18:59:59 2013 UTC (6 years, 2 months ago) by romanschmocker
Removed some redundant test cases.
Some small changes to prepare for the new factory classes.




Revision 93392 - Directory Listing
Modified Fri Nov 15 17:28:49 2013 UTC (6 years, 2 months ago) by manus
Added missing svn:eol-style native property.


Revision 93385 - Directory Listing
Modified Fri Nov 15 01:13:09 2013 UTC (6 years, 2 months ago) by romanschmocker
Initialization for {PS_REPOSITORY}.retry_count

Revision 93384 - Directory Listing
Modified Fri Nov 15 00:54:36 2013 UTC (6 years, 2 months ago) by romanschmocker
Moved the (now) internal class PS_TRANSACTION_ISOLATION_LEVEL to the framework/ subdirectory.

Revision 93383 - Directory Listing
Modified Fri Nov 15 00:53:09 2013 UTC (6 years, 2 months ago) by romanschmocker
Replaced the TRANSACTION_ISOLATION_LEVEL with ANOMALY_SETTINGS.

Instead of understanding the transaction levels defined in the SQL
standard, the user can now say which anomalies he wants to allow
and which should be prevented. ABEL will then pick a suitable transaction
isolation level, based on the capabilities of the backend.



Revision 93380 - Directory Listing
Modified Thu Nov 14 21:21:50 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed the interface of the enum class ROOT_DECLARATION_STRATEGY.

Revision 93379 - Directory Listing
Modified Thu Nov 14 18:23:54 2013 UTC (6 years, 2 months ago) by romanschmocker
Tested the CouchDB backend and fixed three issues. Now the simple criteria tests work.

Revision 93360 - Directory Listing
Modified Thu Nov 14 01:47:31 2013 UTC (6 years, 2 months ago) by romanschmocker
Changed read tests for object graph settings to use new API and disabled write tests.

Revision 93359 - Directory Listing
Modified Thu Nov 14 00:21:13 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed many issues in the API and tutorial, as discussed with Manu.
Added a tutorial section about tuple queries.



Revision 93358 - Directory Listing
Modified Wed Nov 13 22:13:59 2013 UTC (6 years, 2 months ago) by romanschmocker
Updated file names after previous class rename

Revision 93357 - Directory Listing
Modified Wed Nov 13 22:09:48 2013 UTC (6 years, 2 months ago) by romanschmocker
Several renames:

PS_TRANSACTION -> PS_INTERNAL_TRANSACTION
PS_TRANSACTION_CONTEXT -> PS_TRANSACTION
PS_EIFFELSTORE_EXPORT-> PS_ABEL_EXPORT





Revision 93354 - Directory Listing
Modified Wed Nov 13 19:00:50 2013 UTC (6 years, 2 months ago) by romanschmocker
Some changes in API and comments.

Revision 93350 - Directory Listing
Modified Wed Nov 13 17:29:47 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed PERSON to TEST_PERSON and START to APPLICATION to avoid naming conflicts. Added the tutorial project as a library to the test suite.

Revision 93344 - Directory Listing
Modified Wed Nov 13 01:12:40 2013 UTC (6 years, 2 months ago) by romanschmocker
Some changes due to a rename.

Revision 93341 - Directory Listing
Modified Wed Nov 13 00:22:54 2013 UTC (6 years, 2 months ago) by romanschmocker
Added and rewrote some (rather lengthy) header comments for TRANSACTION_CONTEXT, REPOSITORY, TUPLE_QUERY and CRITERION_FACTORY.

Revision 93332 - Directory Listing
Modified Tue Nov 12 22:09:08 2013 UTC (6 years, 2 months ago) by romanschmocker
Introduced a new generic for PS_QUERY, which allows for
more code sharing between its two descendants.

Changed and added some header comments in different API classes.




Revision 93323 - Directory Listing
Modified Tue Nov 12 20:00:05 2013 UTC (6 years, 2 months ago) by romanschmocker
Fixed a wrong contract in BACKEND_OBJECT.

Moved all non-public classes from core/ into a subfolder.

Moved the factory class for in-memory repositories to core/backends/in_memory/.




Revision 93311 - Directory Listing
Modified Tue Nov 12 01:39:31 2013 UTC (6 years, 2 months ago) by romanschmocker
Added test cases to ABEL for the new test objects in the EiffelBase test suite.



Revision 93307 - Directory Listing
Modified Mon Nov 11 17:35:37 2013 UTC (6 years, 2 months ago) by romanschmocker
Disabled the global object identification pool, except for some test cases still relying on it.




Revision 93276 - Directory Listing
Modified Fri Nov 8 23:26:21 2013 UTC (6 years, 2 months ago) by romanschmocker
Rewrote the API tutorial.

Due to the recent changes tutorial got outdated.
The new tutorial also includes some of the new features
and adds some more comments.




Revision 93264 - Directory Listing
Modified Fri Nov 8 02:00:57 2013 UTC (6 years, 2 months ago) by romanschmocker
Partially implemented setting the root status for the new, uncommitted traversal algorithms. This commit just contains the shared code changes however.

Revision 93263 - Directory Listing
Modified Fri Nov 8 00:55:55 2013 UTC (6 years, 2 months ago) by romanschmocker
Prepared the backends for storing of the root status of an object.

Revision 93262 - Directory Listing
Modified Fri Nov 8 00:00:29 2013 UTC (6 years, 2 months ago) by romanschmocker
Introduced a function PS_QUERY.is_closed and added a mechanism to set the type parameter in QUERY manually, which simplifies testing.

Revision 93261 - Directory Listing
Modified Thu Nov 7 22:04:31 2013 UTC (6 years, 2 months ago) by jfiat
Use ITERABLE for arguments  of SQLITE_QUERY_STATEMENT.execute_with_arguments (...) (instead of TUPLE)
  This was missing from previous commits, in relation with review#28087002


Revision 93259 - Directory Listing
Modified Thu Nov 7 21:53:23 2013 UTC (6 years, 2 months ago) by jfiat
Updated SQLite Clib from 3.7.9 to 3.7.17.
    Eiffel interface stays the same as previous.
    But it benefits from fixes and improvements made on the SQLite C lib.

Revision 93258 - Directory Listing
Modified Thu Nov 7 21:49:24 2013 UTC (6 years, 2 months ago) by jfiat
Breaking change: SQLITE_RESULT_ROW.value (col): detachable ANY now return directly the INTEGER_64 or REAL_64 and not a CELL [INTEGER_64] ... as it used to be. 
This is a breaking change, but there is no reason to return CELL [...].

Added SQLITE_RESULT_ROW.boolean_value (...): BOOLEAN for convenience.
Added related testing cases.

Revision 93255 - Directory Listing
Modified Thu Nov 7 21:45:07 2013 UTC (6 years, 2 months ago) by jfiat
Fixed issue when retrieving FLOAT SQLite value
  (the column index was wrong)

Revision 93252 - Directory Listing
Modified Thu Nov 7 20:16:27 2013 UTC (6 years, 2 months ago) by jfiat
Updated README.

Note: previous commit included bug fixes from Yassin Nasir Hassan (ETH student)

Revision 93250 - Directory Listing
Modified Thu Nov 7 20:09:47 2013 UTC (6 years, 2 months ago) by jfiat
Various bug fixes, and use ITERABLE for query arguments (instead of TUPLE)

- Fixed SQLITE_RESULT_ROW.value which had wrong implementation.
- Arguments of queries now accept ITERABLE instead of TUPLE.
  (thanks to recent addition on TUPLE to make it an ITERABLE, this does not break existing code)
- Added testing cases.
- Changes to support unicode path to locate an sqlite database file.
- Support BOOLEAN value in argument of query statements, internally this is handled as INTEGER.
- Support NATURAL_64 values .. but up to {NATURAL_32}.max_value (since sqlite does not support uint64)
- Fixed SQLITE_BINDING_HELPERS.is_valid_argument (..) which was using REFLECTOR_CONSTANTS.*_type ... as type_id, which is wrong

review#28087002


Revision 93249 - Directory Listing
Modified Thu Nov 7 19:55:09 2013 UTC (6 years, 2 months ago) by romanschmocker
Implemented proper handling of {QUERY}.transaction_context.

Switched to new API in {PS_GENERIC_CRUD_TEST}, and fixed some
of the found issues.



Revision 93248 - Directory Listing
Modified Thu Nov 7 18:55:31 2013 UTC (6 years, 2 months ago) by romanschmocker
Replaced the result cursor in QUERY. With the new cursor
it is possible to iterate over the result many times.
Furthermore, the new cursor mechanism doesn't expose
any ABEL internals any more (not even the cursor class name).

Also restricted the export status of EXECUTOR.




Revision 93232 - Directory Listing
Modified Thu Nov 7 01:46:52 2013 UTC (6 years, 2 months ago) by romanschmocker
Last commit was in wrong directory... This commit adds the required changes in test/ as well.

Revision 93231 - Directory Listing
Modified Thu Nov 7 01:45:43 2013 UTC (6 years, 2 months ago) by romanschmocker
Introduced a new public API.

The new API mainly lives in TRANSACTION_CONTEXT and doesn't expose
as many features as the old EXECUTOR. For example the delete operation
and write operations outside a transaction have been removed.

The idea is to never let the user manually delete an object, as it is 
potentially dangerous when the deleted object is shared. Instead
of manual deletion a garbage collector should reclaim unused objects.

To implement a garbage collector however the new API introduces the 
concept of a 'root object'. These objects and all referenced objects
will never be reclaimed. By default the top of an object graph that 
gets inserted is a 'root object', but the user can change this default
or set the root annotation manually as well.

Furthermore the funcionality to execute queries within implicit
transactions has been moved to the REPOSITORY, and QUERY has
gained a function to filter objects based on the root status.



Revision 93201 - Directory Listing
Modified Tue Nov 5 01:21:11 2013 UTC (6 years, 2 months ago) by romanschmocker
Added a new folder 'identification' and moved all classes related to object identification to this subfolder

Revision 93200 - Directory Listing
Modified Tue Nov 5 01:13:38 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed files according to previous commit.

Revision 93199 - Directory Listing
Modified Tue Nov 5 01:10:31 2013 UTC (6 years, 2 months ago) by romanschmocker
Renamed PS_RETRIEVED_OBJECT to PS_BACKEND_OBJECT.
Renamed PS_RETRIEVED_OBJECT_COLLECTION to PS_BACKEND_COLLECTION.
Renamed PS_COLLECTION_HANDLER to PS_COLLECTION_HANDLER_OLD.



Revision 93198 - Directory Listing
Modified Tue Nov 5 00:59:06 2013 UTC (6 years, 2 months ago) by romanschmocker
Added a plugin directory in framework and moved most plugins there.
Added a new plugin to remove any unneeded attribute from a PS_RETRIEVED_OBJECT.



Revision 93197 - Directory Listing
Modified Tue Nov 5 00:46:24 2013 UTC (6 years, 2 months ago) by romanschmocker
Added a utility class PS_INTEGER_INTERVAL which inherits from INTEGER_INTERVAL but keeps the defined bounds upon creation if empty, instead of defaulting to [1,0]

Revision 93196 - Directory Listing
Modified Tue Nov 5 00:43:23 2013 UTC (6 years, 2 months ago) by romanschmocker
Some small changes for the object graph traversal rewrite:

* Changed the PS_PLUGIN interface to include attributes and criteria in the after_retrieve function.
* Added a function to create metadata based on a type id in PS_METADATA_FACTORY.
* Let PS_EIFFELSTORE_EXPORT inherit from REFACTORING_HELPER directly.
* Removed some export restrictions.




Revision 93166 - Directory Listing
Modified Wed Oct 23 17:15:51 2013 UTC (6 years, 3 months ago) by romanschmocker
Removed all occurrences of non-conforming inheritance in ABEL

Revision 93165 - Directory Listing
Modified Wed Oct 23 16:28:28 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a mechanism to remove agent criteria before sending the queries to the database.

Revision 93162 - Directory Listing
Modified Tue Oct 22 23:55:02 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented support for filtering based on criteria within the database.
This is done by translating ABEL predefined criteria to SQL code and sending
it to the database. The solution works for both MySQL and SQLite.






Revision 93160 - Directory Listing
Modified Tue Oct 22 18:18:24 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented lazy loading for the MySQL and SQLite  backend.

Instead of retrieving all objects at once, a user of ABEL can set
a value to retrieve only a batch of X (default: 5) objects from 
the database. Any further batches will be loaded completely
transparently if the user wants to iterate over the full result.

Also removed the evil_object again, as the garbage collector
currently doesn't like it.



Revision 93155 - Directory Listing
Modified Mon Oct 21 21:30:05 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed the MySQL backend for long strings by changing the column type from VARCHAR to LONGTEXT. This is probably not very efficient but another solution will require splitting the MySQL and SQLite backends.

Revision 93154 - Directory Listing
Modified Mon Oct 21 19:34:50 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a test case for chinese strings and fixed UTF handling in the framework and the in-memory backend.

Revision 93153 - Directory Listing
Modified Mon Oct 21 18:13:23 2013 UTC (6 years, 3 months ago) by romanschmocker
Added some test classes and unit tests for expanded types.



Revision 93147 - Directory Listing
Modified Fri Oct 18 22:40:25 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a test and two test classes for expanded objects.

Revision 93146 - Directory Listing
Modified Fri Oct 18 21:50:11 2013 UTC (6 years, 3 months ago) by romanschmocker
Added collection support for the SQLite backend, by adapting the SQL strings wherever necessary.

Revision 93145 - Directory Listing
Modified Fri Oct 18 21:22:18 2013 UTC (6 years, 3 months ago) by romanschmocker
Finished support for collections in the MySQL backend.



Revision 93144 - Directory Listing
Modified Fri Oct 18 19:09:28 2013 UTC (6 years, 3 months ago) by romanschmocker
Added support for storing and retrieving the additional information fields for collections in the MySQL backend. Some tests are now passing

Revision 93143 - Directory Listing
Modified Fri Oct 18 18:24:08 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a test case for basic types, and added partial support for collections in the SQL backend

Revision 93138 - Directory Listing
Modified Thu Oct 17 19:02:58 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a workaround to support HASH_TABLE.

It turned out that the error was actually within STRING, because
the internal_hash_code doesn't get stored. It is debatable if this
is actually necessary, because a user never gets to see the field
and it can always be generated from the string itself (it merely
serves as a cache).
However, the is_deep_equal feature will not recognize the objects 
as equals, thus breaking the test case. Therefore I've added a 
workaround to generate the hash codes automatically when ABEL 
detects a HASH_TABLE[ANY, READABLE_STRING_GENERAL] object.

This commit fixes the last (known) framework error. The in-memory
repository can now pass all tests, and other tests usually fail 
because collections are not supported.



Revision 93137 - Directory Listing
Modified Thu Oct 17 18:27:11 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a handler for TUPLE collections. Now the only remaining issue is HASH_TABLE support.



Revision 93136 - Directory Listing
Modified Thu Oct 17 17:43:29 2013 UTC (6 years, 3 months ago) by romanschmocker
Removed the generic arguments from PS_COLLECTION_PART and descendants.

The reason for the change was that the current system wasn't flexible enough, since
collections need to inherit from ITERABLE in order to work. This is not the case
for TUPLE however.
The responsibility to iterate over a collection could be moved to the corresponding
COLLECTION_HANDLER, thus eliminating the need for a (constrained) generic parameter 
altogether.




Revision 93133 - Directory Listing
Modified Wed Oct 16 23:57:48 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented correct support for manually setting the query depth.

Revision 93132 - Directory Listing
Modified Wed Oct 16 22:44:54 2013 UTC (6 years, 3 months ago) by romanschmocker
Updated the versioning plugin to take into account the changes in the last commit.

Revision 93131 - Directory Listing
Modified Wed Oct 16 22:43:38 2013 UTC (6 years, 3 months ago) by romanschmocker
Moved all obsolete classes to a separate directory. Removed some out commented code.

Revision 93130 - Directory Listing
Modified Wed Oct 16 22:14:16 2013 UTC (6 years, 3 months ago) by romanschmocker
Forgot to add a new file...

Revision 93129 - Directory Listing
Modified Wed Oct 16 22:13:08 2013 UTC (6 years, 3 months ago) by romanschmocker
Ported the SQLite backend to the new interface.

Revision 93128 - Directory Listing
Modified Wed Oct 16 18:43:06 2013 UTC (6 years, 3 months ago) by romanschmocker
Changed the way how primary keys are generated.

Instead of creating every key separately, a stored procedure is used
to generate all keys at once. This should reduce the number of round trips
to two on average for any write operation (at least when the metadata about 
the class is already present in the database, which is usually the case).

Also added a new feature last_results in the MySQL and SQLite connectors
to be able to retrieve all results from a multi-statement SQL query.





Revision 93126 - Directory Listing
Modified Wed Oct 16 00:00:46 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented the retrieve_by_primary_key feature for both SQL backends properly.

Revision 93125 - Directory Listing
Modified Tue Oct 15 23:12:14 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented the delete operation in the new MySQL backend. Now all tests that don't involve collections pass, and the new MySQL backend has reached feature parity with the old one.

Revision 93124 - Directory Listing
Modified Tue Oct 15 22:50:00 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented a first version of primary key generation and the object write function for the new MySQL backend

Revision 93123 - Directory Listing
Modified Tue Oct 15 21:10:48 2013 UTC (6 years, 3 months ago) by romanschmocker
Added skeleton code and tests for the new SQL backend

Revision 93122 - Directory Listing
Modified Tue Oct 15 20:37:15 2013 UTC (6 years, 3 months ago) by romanschmocker
Resurrected the REPOSITORY_FACTORY for in-memory backends.
Removed some of the obsolete classes in the in-memory backend.




Revision 93121 - Directory Listing
Modified Tue Oct 15 19:12:41 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a new repository PS_DEFAULT_REPOSITORY which can handle any new backend.
Most of the code is from the SIMPLE_IN_MEMORY_REPOSITORY, which now inherits from
the new repository.
The feature do_write is now splitted into do_write and do_delete, simplifying it a little.



Revision 93120 - Directory Listing
Modified Tue Oct 15 18:23:11 2013 UTC (6 years, 3 months ago) by romanschmocker
Renamed the file as well, and removed PS_BACKEND completely

Revision 93119 - Directory Listing
Modified Tue Oct 15 18:21:16 2013 UTC (6 years, 3 months ago) by romanschmocker
Removed a dirty hack from PS_RETRIEVAL_MANAGER.

Merged back PS_BACKEND into PS_BACKEND_COMPATIBILITY.

Renamed PS_RELATIONAL_REPOSITORY to PS_REPOSITORY_COMPATIBILITY.




Revision 93118 - Directory Listing
Modified Tue Oct 15 16:59:32 2013 UTC (6 years, 3 months ago) by romanschmocker
Added feature is_consistent to the RETRIEVED_* classes, which replace the private contract check functions in READ_ONLY_BACKEND.

Revision 93116 - Directory Listing
Modified Mon Oct 14 23:49:06 2013 UTC (6 years, 3 months ago) by romanschmocker
Split away the read functions in the generic SQL layout backend, as they can still be used with the new backend interface. Also did some cleanup in the old backend interfaces

Revision 93115 - Directory Listing
Modified Mon Oct 14 22:14:23 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a wrapper class for immutable data structures.

The class can wrap anything conforming to READABLE_INDEXABLE (in particular both LIST and ARRAY objects)
and provides read-only access. It also has some nice features like for_all or do_all and can be used
with the across syntax.

The backend interface has been adapted to use the new class for specifying which attributes to load.
Previously this has been a LIST[STRING] which was dangerous, as backends and plugins sometimes change it
and TYPE_METADATA doesn't like its internal data structures messed up.
With the new class an existing array can be safely wrapped, avoiding the need for an expensive copy of a 
full datastructure when not needed. Furthermore the projection ARRAY from tuple queries doesn't need to be
converted to a list any more.

Furthermore the PLUGIN interface has been changed to take the new immutable strings into account. Instead
of modifying arguments directly during {PS_PLUGIN}.before_retrieve, it can provide new arguments to
replace the old ones. This makes it both safer with respect to aliasing and more powerful.




Revision 93114 - Directory Listing
Modified Mon Oct 14 18:15:44 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed the PS_SIMPLE_IN_MEMORY_REPOSITORY and activated the last remaining contracts in PS_READ_WRITE_BACKEND.

Revision 93113 - Directory Listing
Modified Mon Oct 14 17:54:49 2013 UTC (6 years, 3 months ago) by romanschmocker
Added some more contracts to the new backend interface

Revision 93112 - Directory Listing
Modified Fri Oct 11 22:53:53 2013 UTC (6 years, 3 months ago) by romanschmocker
Some more contracts in the new backend interface

Revision 93111 - Directory Listing
Modified Fri Oct 11 22:27:15 2013 UTC (6 years, 3 months ago) by romanschmocker
Started to add contracts to the new backend interface.



Revision 93110 - Directory Listing
Modified Fri Oct 11 20:33:00 2013 UTC (6 years, 3 months ago) by romanschmocker
Replaced the operation attribute in BACKEND_ENTITY with a boolean query is_new when the object is an insert operation. This is the only information required by the backends for some performance optimizations.

Revision 93109 - Directory Listing
Modified Fri Oct 11 18:24:48 2013 UTC (6 years, 3 months ago) by romanschmocker
Changed the interface of primary key generation: Backends now generate empty objects.




Revision 93108 - Directory Listing
Modified Fri Oct 11 17:27:10 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a class PS_BACKEND_ENTITY whose task is to represent any object or collection in the backend.
The class is a common superclass to both PS_RETRIEVED_OBJECT and PS_RETRIEVED_OBJECT_COLLECTION.

Adapted the PS_READ_WRITE_BACKEND interface to make use of the new class.



Revision 93106 - Directory Listing
Modified Thu Oct 10 22:41:23 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed the nasty issue with subtypes of STRING. The objects now get correctly loaded, but the backend needs to support collections in order to store and retrieve e.g. FILE_NAME objects

Revision 93105 - Directory Listing
Modified Thu Oct 10 21:11:29 2013 UTC (6 years, 3 months ago) by romanschmocker
Adapted the plugin system to the new backend interface and ported the ESCHER plugin.

Revision 93104 - Directory Listing
Modified Thu Oct 10 18:31:58 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented collection support in the new, proof-of-concept in-memory backend. There is now feature parity with the old in-memorybackend, with not even half the amount of code required.

Revision 93103 - Directory Listing
Modified Thu Oct 10 16:53:12 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed a bug in the new in-memory backend. Most of the unit tests pass now.

Revision 93102 - Directory Listing
Modified Wed Oct 9 23:00:37 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a simple repository and backend to play around with the new interface

Revision 93101 - Directory Listing
Modified Wed Oct 9 18:55:28 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a first version for a read-write backend interface

Revision 93100 - Directory Listing
Modified Wed Oct 9 17:56:33 2013 UTC (6 years, 3 months ago) by romanschmocker
Forgot to add a file again...

Revision 93099 - Directory Listing
Modified Wed Oct 9 17:38:07 2013 UTC (6 years, 3 months ago) by romanschmocker
Moved the read functions of the PS_BACKEND into a superclass.



Revision 93098 - Directory Listing
Modified Wed Oct 9 17:13:08 2013 UTC (6 years, 3 months ago) by romanschmocker
I just realized that I forgot to add the simple in memory backend in my last commit...

Revision 93087 - Directory Listing
Modified Wed Oct 9 00:11:55 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a new in-memory repository making use of the new backend.
Fixed some bugs along the way.



Revision 93085 - Directory Listing
Modified Tue Oct 8 18:31:12 2013 UTC (6 years, 3 months ago) by romanschmocker
Adapted the file names after the previous class rename.
Deleted ps_collection_backend.e as it's not used anymore.



Revision 93084 - Directory Listing
Modified Tue Oct 8 18:29:02 2013 UTC (6 years, 3 months ago) by romanschmocker
Renamed PS_BACKEND to PS_BACKEND_COMPATIBILITY.
Renamed PS_NEW_BACKEND to PS_BACKEND.



Revision 93083 - Directory Listing
Modified Tue Oct 8 18:15:01 2013 UTC (6 years, 3 months ago) by romanschmocker
Added some comments and contracts to the new backend interface, and provided some default implementations.

Revision 93082 - Directory Listing
Modified Tue Oct 8 00:12:55 2013 UTC (6 years, 3 months ago) by romanschmocker
Moved the functions of the COLLECTION_BACKEND back to BACKEND or NEW_BACKEND.



Revision 93081 - Directory Listing
Modified Mon Oct 7 23:23:02 2013 UTC (6 years, 3 months ago) by romanschmocker
Refined the interface of the object retrieval functions in the new backend.




Revision 93079 - Directory Listing
Modified Mon Oct 7 19:35:47 2013 UTC (6 years, 3 months ago) by romanschmocker
Added two test classes that I forgot in a previous commit.



Revision 93073 - Directory Listing
Modified Mon Oct 7 18:32:10 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed collection update in the in-memory repository.

Better handling of REAL attributes: 
Instead of storing the string representation (which contains rounding errors),
ABEL will now extract the binary represenation, put that into an integer, and then
store the value to memory. This eliminates rounding errors for all backends.

Also found two bugs when storing HASH_TABLE or TUPLE, respectively. Added two
tests to show the faulty behaviour.



Revision 93067 - Directory Listing
Modified Sat Oct 5 00:54:15 2013 UTC (6 years, 3 months ago) by romanschmocker
Implemented the last missing piece to support polymorphism in ABEL.
Now an object with an attribute whose dynamic type doesn't match
the static type during a write gets corretly loaded. Even expanded 
types seem to work.
The only remaining issue are descendants of the STRING class.



Revision 93066 - Directory Listing
Modified Sat Oct 5 00:22:43 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed a bug which caused some contracts not to be correctly checked.
And fixed the bugs that caused contract violations after this was discovered.

Also corrected a design flaw: Previously ABEL has treated all derivations of a generic
class as one type. This is now fixed - e.g. for LIST[STRING] and LIST[ANY] you now
have different tables and entries in the database.




Revision 93065 - Directory Listing
Modified Fri Oct 4 22:26:01 2013 UTC (6 years, 3 months ago) by romanschmocker
Uncovered a problem with polymorphism in ABEL and added some test cases. Switched to a consistent naming scheme in the test suite

Revision 93063 - Directory Listing
Modified Fri Oct 4 19:04:52 2013 UTC (6 years, 3 months ago) by romanschmocker
Enabled a postcondition for retrieved objects.

Revision 93062 - Directory Listing
Modified Fri Oct 4 17:56:44 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a tight postcondition for object retrieval, and fixed a bug in the retrieval manager

Revision 93061 - Directory Listing
Modified Thu Oct 3 23:51:39 2013 UTC (6 years, 3 months ago) by romanschmocker
Ported ESCHER plugin to new plugin mechanism.

The new plugin requires considerably less code and
supports lazy loading, as opposed to the old implementation.
It should be possible now to split out the testing-related
code as well.



Revision 93060 - Directory Listing
Modified Thu Oct 3 22:44:27 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a plug-in mechanism to the new backend.

The goal of the new mechanism is to inject external code
just before objects get written to the database, or during 
retrieval before being built by the object-relational mapping
layer.
With the old backend interface this was already possible, but 
required a lot of glue code and some dirty hacks around contracts
(usually resolved by disabling the contract). With the new system it
should be easier now to write plugins, without the need to forgo
tight contracts.
Possible use cases is the ESCHER plugin which adds versioning
information to an object, or a filter plugin to remove transient
attributes prior to storing them. 



Revision 93058 - Directory Listing
Modified Thu Oct 3 21:16:04 2013 UTC (6 years, 3 months ago) by romanschmocker
Added some contracts around the functions in the
new backend interface.



Revision 93050 - Directory Listing
Modified Wed Oct 2 23:50:26 2013 UTC (6 years, 3 months ago) by romanschmocker
Fixed a design flaw.

The (wrong) idea was that updates of a collection can be modelled as a delete followed by an insert,
mostly because an incremental update is not efficient because ABEL doesn't know which items get deleted.
This kind of behaviour was implemented at a very high level - in fact the backends don't even know 
how to 'update' a collection.

However if a collection (e.g. a SPECIAL object) is shared by two objects problems will arise...
Due to the delete-insert cycle the database entry will get a new primary key. This means the 
reference/foreign key of (at least one of) the owners will get invalid.

This commit fixes the behaviour at the higher levels of the stack, and adds a regression test.
It does not, however, fix the bug for existing backends.



Revision 93048 - Directory Listing
Modified Wed Oct 2 18:40:06 2013 UTC (6 years, 3 months ago) by romanschmocker
Scrapped the idea of having a switch to ignore no-operations in
PS_OBJECT_GRAPH_CURSOR and added another cursor type instead.



Revision 93047 - Directory Listing
Modified Wed Oct 2 17:52:41 2013 UTC (6 years, 3 months ago) by romanschmocker
Added some contracts to the new backend interface.
Changed some of the upper layers to satisfy the
new contracts.
Added an option in the object_graph_cursor to ignore
objects tagged with a no_operation.



Revision 93046 - Directory Listing
Modified Wed Oct 2 00:22:58 2013 UTC (6 years, 3 months ago) by romanschmocker
Added some queries to the new backend interface to support contracts.



Revision 93045 - Directory Listing
Modified Tue Oct 1 23:23:12 2013 UTC (6 years, 3 months ago) by romanschmocker
Removed most direct uses of PS_BACKEND from the upper
layers and replaced them with similar features in
the new interface.
Added a new class as an abstraction for handling collections
in a backend, instead of squashing all required functions
into the new backend abstraction.



Revision 93044 - Directory Listing
Modified Tue Oct 1 22:17:35 2013 UTC (6 years, 3 months ago) by romanschmocker
Introduced a new backend interface.

The provisional name is PS_NEW_BACKEND, and it is intended to replace PS_BACKEND,
because the latter is not flexible enough. To ease the transition PS_BACKEND
inherits from PS_NEW_BACKEND.
Currently the retrieval operations get routed through PS_NEW_BACKEND. Write 
operations in PS_BACKEND are still called directly by the upper layers, 
although there is a new function to in PS_BACKEND to prevent this in a future 
commit.
The new interface should not be a problem for existing backends (except
for a small rename) and they will continue to work, but it will affect 
the plugin system, or more specifically the ESCHER plugin.




Revision 93026 - Directory Listing
Modified Fri Sep 27 23:17:24 2013 UTC (6 years, 3 months ago) by romanschmocker
Renamed some files to match their classes.
Removed PS_ACCESS_RIGHT_VIOLATION_ERROR.
Adapted the SQLState converter to the new hierarchy.




Revision 93025 - Directory Listing
Modified Fri Sep 27 22:40:01 2013 UTC (6 years, 3 months ago) by romanschmocker
Adapted the error hierarchy according to some new insights from SQLstate converter, and after discussing it with Manu.



Revision 93022 - Directory Listing
Modified Fri Sep 27 20:51:38 2013 UTC (6 years, 3 months ago) by romanschmocker
Changed the ABEL MySQL connector to use the new sqlstate converter.



Revision 93021 - Directory Listing
Modified Fri Sep 27 19:07:06 2013 UTC (6 years, 3 months ago) by romanschmocker
Added a query to get the SQLState in MySQLi library.

SQLStates are part of the SQL standard and should replace custom error codes. They are needed for ABEL error handling.
The new query can be found in MYSQLI.get_sqlstate and returns a STRING_8. The C bindings were already defined in MYSQLI_EXTERNALS.c_mysql_sqlstate, but they were not used by the library so far.
The new features seems to work, as shown by some quick testing.

Also removed a wrong configuration option in the MySQLi library that makes it writable by default.



Revision 93020 - Directory Listing
Modified Fri Sep 27 16:47:31 2013 UTC (6 years, 4 months ago) by romanschmocker
Added some more cases and subcode distinctions to the SQLState converter

Revision 93018 - Directory Listing
Modified Thu Sep 26 23:35:48 2013 UTC (6 years, 4 months ago) by romanschmocker
Changed some generated errors in the PS_SQLSTATE_CONVERTER, and
added some ToDo's and comments.



Revision 93017 - Directory Listing
Modified Thu Sep 26 21:55:27 2013 UTC (6 years, 4 months ago) by romanschmocker
Searched for SQLState error classes and added them
to a big if-else block in PS_SQLSTATE_CONVERTER.



Revision 93016 - Directory Listing
Modified Thu Sep 26 13:27:59 2013 UTC (6 years, 4 months ago) by javierv
Added Bcrypt into crypto 
review #11764005

Revision 93015 - Directory Listing
Modified Thu Sep 26 00:26:15 2013 UTC (6 years, 4 months ago) by romanschmocker
Added a (partially implemented) SQLState to ABEL error converter

Revision 93014 - Directory Listing
Modified Wed Sep 25 23:08:18 2013 UTC (6 years, 4 months ago) by romanschmocker
Added an error visitor which comes with a default error handling mechanism and lets users selectively overwrite error handling for each category

Revision 93013 - Directory Listing
Modified Wed Sep 25 22:50:05 2013 UTC (6 years, 4 months ago) by romanschmocker
Refactored PS_ERROR_VISITOR

Only renaming and some comment fixes in order
to have a common naming scheme.



Revision 93012 - Directory Listing
Modified Wed Sep 25 22:23:32 2013 UTC (6 years, 4 months ago) by romanschmocker
Renamed some files to match their classnames.
Added PS_AUTHORIZATION_ERROR, which I forgot in the previous commit.
Deleted PS_GENERAL_ERROR and PS_UNRESOLVABLE_TRANSACTION_CONFLICT.



Revision 93011 - Directory Listing
Modified Wed Sep 25 22:18:28 2013 UTC (6 years, 4 months ago) by romanschmocker
Refactored error categories in ABEL.

The error hierarchy is now the same as in the following document:
https://docs.google.com/document/d/1pB-ScX9iH9yXm4M8sIUL-MnmFZsBHl38zipO4ug6I9I/edit#

Also added a constant short tag and a meaningful description to every
error cagegory. Replaced occurrences of GENERAL_ERROR and
UNRESOLVABLE_TRANSACTION_CONFLICT with a fitting error in the new
hierarchy.



Revision 93008 - Directory Listing
Modified Wed Sep 25 18:33:41 2013 UTC (6 years, 4 months ago) by romanschmocker
Fixed a typo in a directory name of the CouchDB sample.

Revision 93007 - Directory Listing
Modified Wed Sep 25 18:23:49 2013 UTC (6 years, 4 months ago) by romanschmocker
Optimized tuple queries in ABEL.

During a query ABEL will now only load attributes
defined in the projection or needed for filtering.
In particular, it will not load referenced objects
any more if not explicitly defined in the projection
array.



Revision 93004 - Directory Listing
Modified Wed Sep 25 17:39:42 2013 UTC (6 years, 4 months ago) by romanschmocker
Implemented a first version of tuple queries.

The current implementation is cheating however as internally it's 
still building the objects and then just extracting the required
fields. The version was used to test the test suite and some other
code parts.



Revision 93002 - Directory Listing
Modified Wed Sep 25 00:21:25 2013 UTC (6 years, 4 months ago) by romanschmocker
Implemented correct tuple type generation for tuple queries within ABEL, and added some code such that empty tuples are returned.

Revision 93001 - Directory Listing
Modified Tue Sep 24 18:32:47 2013 UTC (6 years, 4 months ago) by romanschmocker
Added unit tests for tuple queries. This is a preparation for the next step - implementing them in core ABEL. At the moment all new tests fail.

Revision 92977 - Directory Listing
Modified Fri Sep 20 23:03:49 2013 UTC (6 years, 4 months ago) by romanschmocker
Added some error classes to abel

Revision 92976 - Directory Listing
Modified Fri Sep 20 21:01:49 2013 UTC (6 years, 4 months ago) by manus
Moving ABEL's documentation to trunk.

Revision 92973 - Directory Listing
Modified Fri Sep 20 18:16:03 2013 UTC (6 years, 4 months ago) by romanschmocker
Fixed the test suite and sample project setup

Revision 92972 - Directory Listing
Modified Fri Sep 20 17:24:28 2013 UTC (6 years, 4 months ago) by romanschmocker
Fixed the project files for the ABEL modules and removed any hardcoded paths

Revision 92971 - Directory Listing
Modified Fri Sep 20 16:37:26 2013 UTC (6 years, 4 months ago) by manus
Move samples of ABEL under ABEL library of trunk for the time being.

Revision 92970 - Directory Listing
Modified Fri Sep 20 16:36:35 2013 UTC (6 years, 4 months ago) by manus
Moving test suite of ABEL in trunk.

Revision 92969 - Directory Listing
Modified Fri Sep 20 16:34:46 2013 UTC (6 years, 4 months ago) by manus
Moving MySQL wrapper under trunk.

Revision 92968 - Directory Listing
Modified Fri Sep 20 16:33:51 2013 UTC (6 years, 4 months ago) by manus
Moving ABEL libraries to main trunk.

Revision 92967 - Directory Listing
Modified Fri Sep 20 16:31:54 2013 UTC (6 years, 4 months ago) by manus
New location for ABEL.


Revision 92930 - Directory Listing
Modified Wed Sep 11 08:51:12 2013 UTC (6 years, 4 months ago) by jfiat
Added HMAC implementations for MD5, SHA1, and SHA256

review#11642036 (http://patchreview.eiffel.com/11642036/)

Revision 92921 - Directory Listing
Modified Mon Sep 9 10:43:37 2013 UTC (6 years, 4 months ago) by tedf
Added crypto library.
Migrated original message_digest library into crypto.
Migrated SHA1 and SHA256 into crypto library.
Added tests for SHA1 and SHA256.

Revision 92842 - Directory Listing
Modified Fri Aug 2 09:43:48 2013 UTC (6 years, 5 months ago) by manus
Fixed missing svn:eol-style native property.


Revision 92783 - Directory Listing
Modified Tue Jul 16 07:26:36 2013 UTC (6 years, 6 months ago) by tedf
Eiffel implementation of Tarjan's strong connected algorithm. Useful for cycle
detection in directed graph.

review#11082003

Revision 92528 - Directory Listing
Modified Mon May 13 03:00:15 2013 UTC (6 years, 8 months ago) by tedf
Made update* still usable after calling digest* queries. So it is possible to do:
update "a"
digest
update "b"
digest
the final result is MD5 of "ab".

In `digest', we save the state before `finish' is called, and restore it at the end.

Changed the tests to use new semantics. Added more tests.

review#10464012.

Revision 92431 - Directory Listing
Modified Wed Apr 10 13:32:16 2013 UTC (6 years, 9 months ago) by tedf
Delete the temp file after using it.

Revision 92428 - Directory Listing
Modified Tue Apr 9 10:09:20 2013 UTC (6 years, 9 months ago) by tedf
Added MD5 test for a file.

Revision 92427 - Directory Listing
Modified Tue Apr 9 10:08:17 2013 UTC (6 years, 9 months ago) by tedf
Add new APIs: update_from_iterator, update_from_io_medium.

Revision 92426 - Directory Listing
Modified Tue Apr 9 07:01:26 2013 UTC (6 years, 9 months ago) by tedf
Made the test project compile for the moved library.

Revision 92424 - Directory Listing
Modified Tue Apr 9 05:21:43 2013 UTC (6 years, 9 months ago) by tedf
Added usage in note clause.

Revision 92423 - Directory Listing
Modified Tue Apr 9 02:14:16 2013 UTC (6 years, 9 months ago) by tedf
Moved message_digest to unstable/text/encryption.

Revision 91239 - Directory Listing
Modified Fri Feb 15 09:58:41 2013 UTC (6 years, 11 months ago) by jfiat
Fixing compilation 

Revision 91160 - Directory Listing
Modified Mon Feb 4 21:27:38 2013 UTC (6 years, 11 months ago) by manus
Removed all svn:mergeinfo properties are they are useless for the trunk at this point and they cause too much hassle when merging to a release branch.


Revision 90962 - Directory Listing
Modified Sat Jan 26 07:37:47 2013 UTC (7 years ago) by manus
Fixed typo on `occurring'.


Revision 90943 - Directory Listing
Modified Sat Jan 26 07:17:17 2013 UTC (7 years ago) by manus
Fixed typo on `occurred'.


Revision 90881 - Directory Listing
Modified Sat Jan 26 01:04:38 2013 UTC (7 years ago) by manus
Fixed missing uppercase in Unicode.


Revision 90652 - Directory Listing
Modified Thu Jan 17 23:10:15 2013 UTC (7 years ago) by manus
Replace implicit conversions by explicit one.

Revision 89283 - Directory Listing
Modified Wed Aug 1 19:48:44 2012 UTC (7 years, 5 months ago) by manus
Removed non-conforming inheritance which cannot be used while the compiler is not compiled using the new conformance rules about replication.


Revision 89120 - Directory Listing
Modified Thu Jul 12 11:12:39 2012 UTC (7 years, 6 months ago) by polikarn
Bugfix

Revision 88637 - Directory Listing
Modified Mon Apr 23 12:54:53 2012 UTC (7 years, 9 months ago) by kenga
Added quantification over key-value pairs for sequences and maps.

Revision 88632 - Directory Listing
Modified Fri Apr 20 09:43:43 2012 UTC (7 years, 9 months ago) by kenga
Bugfixes

Revision 88551 - Directory Listing
Modified Thu Apr 12 11:00:39 2012 UTC (7 years, 9 months ago) by kenga
Minor change in comments.

Revision 88535 - Directory Listing
Modified Wed Apr 11 13:05:04 2012 UTC (7 years, 9 months ago) by kenga
First version of EiffelBase2 in EiffelStudio

Revision 88524 - Directory Listing
Modified Tue Apr 10 15:25:57 2012 UTC (7 years, 9 months ago) by manus
Placeholder for EiffelBase2.


Revision 88214 - Directory Listing
Modified Fri Jan 20 17:23:52 2012 UTC (8 years ago) by manus
Fixed SPECIAL resizing as the code was not made to have `count /= capacity'. See review#7286343.


Revision 88165 - Directory Listing
Modified Wed Jan 11 15:01:42 2012 UTC (8 years ago) by jfiat
Fixed C compilation issue when ISE_LIBRARY path contains blank characters

Revision 87848 - Directory Listing
Modified Fri Nov 18 17:08:31 2011 UTC (8 years, 2 months ago) by jfiat
remove pcre.e from the base directory, since its place is in tests folder

Revision 87819 - Directory Listing
Modified Wed Nov 16 01:12:35 2011 UTC (8 years, 2 months ago) by manus
Made it compile on all platforms.
Added missing SHAREDLIBS.


Revision 87768 - Directory Listing
Modified Thu Nov 10 18:24:56 2011 UTC (8 years, 2 months ago) by manus
Ignored generated files.


Revision 87767 - Directory Listing
Modified Thu Nov 10 18:22:26 2011 UTC (8 years, 2 months ago) by manus
Do not compile the C code using `-Zi' it makes the .lib larger for no reason as we are not going to debug the C code of sqlite.


Revision 87752 - Directory Listing
Modified Tue Nov 8 23:32:59 2011 UTC (8 years, 2 months ago) by king
Now making a console application to see test output on execution

Revision 87751 - Directory Listing
Modified Tue Nov 8 23:32:15 2011 UTC (8 years, 2 months ago) by king
Extended tests, not printing out test output to console

Revision 87749 - Directory Listing
Modified Tue Nov 8 16:37:51 2011 UTC (8 years, 2 months ago) by jfiat
Updated to SQLite 3.7.9

review: http://codereview.eiffel.com/7032021/

Revision 87669 - Directory Listing
Modified Mon Oct 31 11:30:27 2011 UTC (8 years, 2 months ago) by jfiat
restructured pcre library, to use "src", library .ecf and a tests folder.

Revision 87660 - Directory Listing
Modified Fri Oct 28 17:05:22 2011 UTC (8 years, 3 months ago) by jfiat
Removed complexity of example, remove dependencies on terminal, and string_expander which does not bring anything interesting for the example,

Revision 87659 - Directory Listing
Modified Fri Oct 28 16:43:25 2011 UTC (8 years, 3 months ago) by jfiat
Removed ENUMERATED_TYPE, and use simpler solution (since ENUMERATED_TYPE was violating some ECMA recommendation related to precondition on creation procedure, and conversion procedure)

Revision 87657 - Directory Listing
Modified Fri Oct 28 16:16:47 2011 UTC (8 years, 3 months ago) by manus
Added port of PCRE made by Ian to unstable so that we can have peer review and possible migration to the official release.


Revision 87655 - Directory Listing
Modified Fri Oct 28 13:00:46 2011 UTC (8 years, 3 months ago) by jfiat
added information related to how we compile sqlite3

Revision 87654 - Directory Listing
Modified Fri Oct 28 12:49:38 2011 UTC (8 years, 3 months ago) by jfiat
use  -DSQLITE_OMIT_LOAD_EXTENSION=1 to get rid of extension feature of SQLite, especially on non Windows platform where it might cause compilation issue (undefined dlopen , ...), and avoid using the externals of the API wrapper library

Revision 87640 - Directory Listing
Modified Thu Oct 27 16:39:38 2011 UTC (8 years, 3 months ago) by jfiat
updated sqlite3 C library, using now version 3.7.8 http://www.sqlite.org/sqlite-amalgamation-3070800.zip
before it was 3.6.14.2

Revision 87639 - Directory Listing
Modified Thu Oct 27 15:42:42 2011 UTC (8 years, 3 months ago) by jfiat
Updated build.eant scripts, to clean/clobber/compile the library,framework,contrib,unstable folders

Revision 87638 - Directory Listing
Modified Thu Oct 27 15:15:14 2011 UTC (8 years, 3 months ago) by jfiat
Created Src/unstable folder to hold code from EiffelSoftware, but likely to have interface changes in the future.
Moved sqlite3 from framework to the newly created  Src/unstable/library/persistency/database/sqlite3

Revision 87637 - Directory Listing
Modified Thu Oct 27 15:14:28 2011 UTC (8 years, 3 months ago) by jfiat
Created Src/unstable folder to hold code from EiffelSoftware, but likely to have interface changes in the future.
Moved sqlite3 from framework to the newly created  Src/unstable/library/persistency/database/sqlite3

Revision 87636 - Directory Listing
Added Thu Oct 27 15:12:41 2011 UTC (8 years, 3 months ago) by jfiat
Created Src/unstable folder to hold code from EiffelSoftware, but likely to have interface changes in the future.
Moved sqlite3 from framework to the newly created  Src/unstable/library/persistency/database/sqlite3

  ViewVC Help
Powered by ViewVC 1.1.23