
After procrastinating for over 6 months, Ive finally gotten round to packaging csopf as the next release. One of the delays was because we were creating a production site which was using csopf as the framework, and there were quite a few features to be implemented and bugs exterminated.
Im glad to say that the production website has been running for over 2 months now without much problem, so I'd say that csopf was quite stable. So its ready for its release.
Hope you enjoy it!
Please click
here for more information, or download
hereRelease Name:
csopf-v0.4.0
Major changes since v0.3.9
- ASP Enabled
- Transactions
- SearchCriteria
- mono compatibility
ASP.NET
csopf now works ASP.NET. Each Session will have its own SQLConnection.
Connections can be defined as "release often"
together with the ASP BaseForm,
- Auto populates the edit fields
- Template Driven, so pages can have the same look via inheritence
- Allows nested pages (modal like behaviour) with correct return paths.
- Sessions and ViewStates are handled as transparently as possible.
- On Session expiry/Auth fail, redirect to a specific page.
- HasShowDebug - optionally shows the messages from the DebugList.
- NeedsUserLoggedIn / IsAuthenticated : authorizations with AppUser on Page access.
- Uses Resource Manager for translatable strings, dependant on the Culture
ASP Grid
the framework includes a customized Grid Component (PDASPGrid) which works well with
the PDList. Developer just drops the grid in and immediately has these features.
- Add, Modify and Delete the items within the grid.
- On Add or Modify, a ChildPage can be called for a modal-like aditing screen.
- The Columns for the Grid is defined by "Object.Property" and allows for deep calling like "Object.Child.Property".
- Renaming and Resizing is also available. Editable in the IDE.
Transactions / Atomic Functions
where the RDBMS supports it, csopf now uses transactions to make sure that updates are atomic.
- Begin, Commit and Rollback are fully implemented
- In Memory transaction is implemented (can rollback in memory as well)
- Works for MySQL (InnoDB), Firebird and MSSQL
Others:
AppUser - A rudimentary User Class is created for Autiding info and authentication.
Authentication is still up to the developer to implement.
PDObject - Hash value: to see if the object isDirty or not.
SearchCriteria
Instead of writing direct SQL which may differ from engine to engine, csopf abstracts the query in objects.
This is not entirely complete yet as it doesnt support subselects, but its "good enough" for now.
csopf will eventually support subqueries in the future.
- Equal, Like, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, Between
- Strings, Dates and Numbers.
- Different flavours for MySQL, Firebird and MSSQL
- ASP Component for SearchCriteria. Javascript enabled to auto-toggle "and" when data is keyed in.
- Escapes out SQL Injection nasties! - parameterized query not implemented yet. This is a workaround.
mono Compatibility
Confirmed that this framework can compile using 'mcs' and the dlls can be used to persist data.
I have tried a rudimentary Gtk# port of the BaseForm, and it works. Will post it up in the next release.
Thanks to:
Nick Seng who has contributed a whole load to the ASP.NET implementation.
yk.