Aug 22, 2008 | 04:06 PM  
Welcome

Don't have an account yet? You can create one, it is free, just click here

as a registered user you have some advantages like free downloads, comments and posting on our forums, depending upon this site's configuration and options.

 • •  Control Panel - Register - Login  • • 
Current Stable MDPro Lite 1.0821 Download
  Forum FAQForum FAQ   SearchSearch  UsergroupsUsergroups  PreferencesPreferences  Options forumOptions forum  Watched TopicsWatched Topics  Watched ForumsWatched Forums
Latest forum posts Latest forum posts  Log in to check your private messages Log in to check your private messages    Log inLog in 
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
Wiseman
MD user level 5
MD user level 5


Joined: Mar 15, 2005
Posts: 102
Location: Spain
Member
Post  Posted: July 26, 2007 - 12:50 AM Reply with quote Back to top
Post subject: Elcano (modified MDPro)

We're releasing our framework "Elcano", a heavily modified MDPro 1.076, under the GPLv2 license. It's what we use for internal development. It has been stripped of everything not essential to the system (so it's a bare application framework to develop on, not a CMS or anything in particular), and it has been added several core libraries (part of which used to be "PowerPack"), AJAX support, and a powerful form generator for database applications. More information down below.

You can download it here: ftp://ftp.afina.es/Elcano-1.0beta.tbz (tar+bzip2 format)

Here's part of the readme (the full readme is inside the docs directory):

=====
ELCANO
=====
Version 1.0 Beta

1. Introduction

Elcano is a general-purpose web application framework licensed under the
GNU GPLv2 license, developed by Afina Sistemas ( http://www.afina.es/ ).

It is based on MDPro 1.076 ( http://www.maxdev.com/ ).

Elcano provides a series of basic tools to easily build applications which
run in an HTTP server and are used with an HTTP client. Unlike MDPro, it is
not strongly oriented towards publishing text (sometimes called content
management) or community websites, but it's geared at more traditional
applications built from scratch. Elcano provides a series of utility libraries
for purposes such as sanitization, database abstraction or support for HTML
inline updates (so-called "AJAX") built on top of PHP in the server end and
JavaScript (using Prototype) in the client end. It handles user logon and
sessions, as well as modules and user or group-based permissions.

Elcano's key feature is Application Foundation Forms (AFFORMS). This is a
system that allows you to define forms to create a traditional database
application. These defined forms require minimal coding and offer a pleasant
and rich interface.

Unlike MDPro 1.076 (and more similarly to MDPro 1.08x "MDLite"), Elcano
comes with the bare minimum modules to run. Most modules and blocks, including
the news module, have been removed. You are expected to build custom
applications on top of it. (If you want a "batteries included" community
publishing system, consider MDPro over Elcano. If you just need a news module,
consider using Pagesetter with Elcano.) However, Pagesetter and pnForum have
been ported to Elcano and are bundled with it as optional additional modules.

Please read this entire file before installing Elcano, as you'll find
vital information without which you may not be able to.


2. Differences and compatibility

The following MDPro modules are not available in Elcano. Possible
replacements are suggested, but keep in mind if you want all these things you
could use MDPro instead of Elcano.

- Search (included optionally, add when needed)
- Topics (included optionally, add when needed)
- pnHome (port it from MDPro, probably works unmodified)
- MDMenus (port it from MDPro, probably works unmodified)
- NS-MailUsers (port it from MDPro, probably works unmodified)
- Quotes (port it from MDPro, probably works unmodified)
- NS-Ephemerids (port it from MDPro, probably works unmodified)
- NS-Languages (port it from MDPro if you need, probably works unmodified)
- NS-Multisites (port it from MDPro)
- NS-Admin_Messages (port it from MDPro or write your own)
- Messages (port it from MDPro or use a similar PM module)
- Credits (use a blank module file serving as a static page)
- Legal (use a blank module file serving as a static page)
- Recommend_Us (write your own, trivial)
- News (use Pagesetter)
- Submit_News (use Pagesetter)
- NS-AddStory (use Pagesetter)
- subjects (use Pagesetter)
- Reviews (use Pagesetter)
- topx (use Pagesetter)
- RteMulti (Xinha included with Pagesetter)
- Downloads (use Pagesetter or write your own with AFFORMS)
- Web_Links (use Pagesetter or write your own with AFFORMS)
- FAQ (use Pagesetter or write your own with AFFORMS)
- Members_List (write your own with AFFORMS)
- postbbcode (use pn_bbcode)
- NS-Comments (get pnForum working to do this or write your own)
- daily_archive (write your own)
- AvantGo (write your own)
- Ratings (write your own)
- NS-Polls (write your own)
- NS-Banners (write your own)
- Stats (write your own)
- NS-Referers (write your own, modifying counter.php to log them)
- NS-NewUser (you're expected to deal with user accounts yourself)
- NS-LostPassword (you're expected to deal with user accounts yourself)
- NS-User_Points (you're expected to deal with user accounts yourself)
- MySQL_Tools (use the command-line MySQL tools or PHPMyAdmin)
- ew_filemanager (use FTP or a separate third-party PHP utility)
- AutoTheme (unsupported)
- Autolinks (unsupported)
- Wiki (unsupported)
- Errore (unsupported)

As for blocks in the Blocks module, a few of them are provided with
Elcano, others are supplied as additional content, and others not included
with Elcano can be ported from MDPro (they probably work unmodified).


Here are some other differences between Elcano and MDPro 1.076:

- MDPro 1.076 runs on Unix and Windows systems. Elcano currently does not
support Windows, and there are no plans or interest to support Windows at
all.

- Elcano has stricter requirements on PHP versions and options. In particular,
Elcano only supports PHP 4.3.11 or higher officially, and requires all the
braindamaged misfeatures of PHP (in particular, register globals and magic
quotes) to be disabled. If this means Elcano will not be compatible with
some hosts, it's ok. Ask the hosts to provide a decent configuration, or
better, to allow you have a virtual machine and configure it yourself.

- MDPro 1.076 supports MySQL or Oracle databases. Elcano currently does not
support Oracle.

- MDPro 1.076 was able to run with any character set. Elcano will only ever
support ISO/10646 Unicode, using the 8-bit Unicode Transformation Format
(UTF-8), and will always support any character. To do this, it requires the
mbstring standard PHP extension enabled and set to UTF-8 with function
overrides.

- MDPro allows the user to specify a database table prefix, which defaults to
"md". Elcano forces you to use this prefix: all system tables begin with
"md". If you need to run two different Elcano instances, use two different
database schemas. Everything related to pntables is deprecated in Elcano.

- Elcano does not include a web installer. To install Elcano, follow the
procedure described later in this file.

- There is no AutoTheme in Elcano. This has advantages and disadvantages: you
can no longer easily template your theme (although Elcano provides two
templating systems you may use in your theme.php), and you don't have all
the block layout features of AutoTheme, but there's a significative
performance gain which is very important for inline (AJAX) calls. You can
define your own old-style themes using the included theme as an example.

- Elcano does not support multisites, but they can be easily reimplemented if
you need them.

- There's a substantial difference in how Elcano draws its output. Elcano
allows HTML to be sent as it's generated, so the user can receive the
results smoothly and as soon as they are available, and it's faster — which
is great for AJAX. This, however, introduces some issues with existing
MDPro modules (all of which can be easily fixed) and may break strict HTML
compliance (however, this is not a problem). The documentation describes
this issue in detail.

- Elcano provides two templating systems:
- Elcano templates (the recommended one): Why reinvent the wheel with a
huge, bloated template system that reimplements every PHP or Elcano
function? Elcano templates means you use PHP for what it's for. They are
just PHP pages, conveniently included with the RunTemplate function.
You needed the Afina PowerPack to use RunTemplate in MDPro.
- pnRender: For PostNuke compatibility, pnRender (Smarty for PostNuke) is
also supported. On MDPro, there's a separate module you can install to
add pnRender support as well.

- Modules developed for Elcano follow slightly different conventions than
those from new-style PostNuke modules. You can read about them in
elcano_mod.txt .

- Configuration in Elcano lies in the config/config.php file, not in
config/md-config.php . There are more variables to configure there and the
Settings administration panel is less important now.

- MDPro allows registering new users and includes a static login system. In
Elcano, you are expected to provide your own facility to register users, but
you can write custom login modules that will sign them in against anything,
not just the standard users table. You could, for example, write an Elcano
auth module to sign in against an LDAP directory. Much of the user
management functionality has been crippled out of Elcano, so most features
you'll see in user administration and user options will do nothing. You are
expected to write your own Elcano auth modules that manage users tables/
directories/files/whatever, possibly using AFFORMS (hint: there's nothing
preventing you from creating AFFORMS modules that edit the md_* tables,
although you may prefer a different table structure and data). For more
information, read the auth.txt file in the docs directory. Ideally, you
would:
- Create your user table with all the fields you want
- Create your Elcano auth module that works against these tables, copies
the minimum attributes to the md_users table on login, and provides
custom user vars functions
- Allow users to be imported from an LDAP directory on first login, or
create a simple module to sign up (possibly using AFFORMS)
- Create an AFFORMS form to manage users from this table
So you would basically create your own user properties, registration,
authentication and management. The standard user system and their fields and
features, including dynamic users, have a lot of legacy baggage going all
the way back to PHP-Nuke, the administration modules need a lot of work, the
table structure is insane, and their features are too specific and
community-centric.

- The dynamic users feature is barely supported. Again, you are expected to
write your own Elcano auth modules and user administration form.

- There are no online manuals acessible from the admin interface, because the
interface underlying these manuals was deprecated.

- The new tabbed administration has been removed; there's only the classic
administration available.

- The groups administration has been replaced with PostNuke 0.764's for
further compatibility with PostNuke (as its groups administration had some
pnmodapi functions like getusergroups).

- There are dozens of new API functions, some of which were available to MDPro
via the Afina PowerPack (now discontinued). They are documented in the
includes themselves. These functions do not start with "pn".

- A considerable part of the PostNuke/MDPro API was deprecated and/or removed,
including but not limiting to xhtml, pnHTML, phpsniff, queryutil,
textsanitizer and oldfuncs. Most of these are not available, and those which
are (in particular pnHTML) are recommended to be avoided like the plague.
Some of these were considered deprecated in MDPro as well.

- The pnCompat API was included to enhance compatibility with PostNuke.

- Elcano includes Prototype, the popular JavaScript extension API, as well as
a few other functions that can be used in JavaScript, especially for inline-
updated HTML applications (so-called AJAX). An example of such an
application is included.

- Elcano supports offline scripts: PHP scripts which are designed to run in
the command-line using PHP's CLI SAPI, having full access to the database
and most of the API (no users or permissions though). These are great for
administrative scripts.

- Elcano may require two file garbage collectors to run in the cron if certain
features are used:
- AFFORMS, when used with file fields, requires the afformsgc script to be
run (execute it without parameters to see how to use it). This, in turn,
requires Python to run afformsgc_helper.py . You could reimplement it
in PHP to lift this requirement, but you'll find the implementation of
it in PHP will be at least thrice as long.
- If you use the temp directory for temporary files, you'll need to run
the tempgc script (takes no parameters).

- The web statistics system has been rewritten in counter.php, and it now
collects more data, but there's no interface for querying it. You are
expected to use your own statistics module with it. You can also disable it
for better performance by removing counter from autoload_all in config.php .

- In overall, Elcano is expected to be considerably faster, due to a reduced
and optimized API, faster and simpler entry points (different index.php, no
xhtml.php stuff, etc.), lack of AutoTheme, and immediate output without the
need for concatenation (using echo from modules). This is specially
important for inline-updated (AJAX) applications.


Elcano is mostly compatible with MDPro and PostNuke modules. This is what
you can expect from compatibility:
- PostNuke or MDPro core news modules: Incompatible
- Other old-style PostNuke or MDPro modules: Problematic
- New-style MDPro modules: Mostly compatible (most modules will probably
run without any modifications)
- New-style PostNuke modules: Even better compatibility than MDPro has,
still may have some issues but they should be easy to fix

For more information, check the file compatibility.txt (found near this
readme).


3. Requirements

Elcano requires:
- A Unix-based operating system (tested on Linux)
- A web server with PHP support
- PHP, one of these versions:
PHP version Elcano support
---------------------------------------------------------
4.2.x Might work, probably not
4.3.1~4 Might work
4.3.5~10 May work, probably does
4.3.11+ Officially supported
4.4.x Officially supported
5.x Should work, official support coming soon
6.x Might work
- MySQL 4.1 or higher (latest Generally Available release recommended)
- Approximately 16 MB of free hard disk space (ReiserFS recommended)


4. Installation

Installation instructions are available in the full readme ( docs/README.txt ).
View user's profile Visit poster's website
Wiseman
MD user level 5
MD user level 5


Joined: Mar 15, 2005
Posts: 102
Location: Spain
bannato
Post  Posted: July 26, 2007 - 07:05 PM Reply with quote Back to top

Minor update: The Topics vulnerability was repatched using the Elcano API; if you downloaded Elcano before seeing this post, please redownload it. Only the pnuserapi.php and pnadminapi.php files in the Topics module inside docs/Optional_Modules have changed.
View user's profile Visit poster's website
Wiseman
MD user level 5
MD user level 5


Joined: Mar 15, 2005
Posts: 102
Location: Spain
bannato
Post  Posted: Aug 01, 2007 - 12:49 AM Reply with quote Back to top

Elcano has been updated to version 1.0beta2. The new version is available here:
ftp://ftp.afina.es/Elcano-1.0beta2.tbz

Everybody should update (just the files you haven't changed). Here's what's new:

- Preliminary PHP 5 support (fixed ADOdb, ugly register_globals workarounds
for legacy modules)
- Minor cosmetic improvements to most administration modules
- Minor cleansing of code in the entry points (the root PHP files)
- Improvements to functions: elcano:Date_Add, elcano:Date_Difference,
pnAPI:pnVarValidate
- The root config.php has been got rid of, and the config/config.php has been
slightly modified. You can run a diff on your current config.php and the new
default config.php files to implement the changes in your file, but they are
nothing important.
- A few unnecessary files have been removed

Enjoy!
View user's profile Visit poster's website
Wiseman
MD user level 5
MD user level 5


Joined: Mar 15, 2005
Posts: 102
Location: Spain
bannato
Post  Posted: Aug 21, 2007 - 07:38 PM Reply with quote Back to top

Elcano has been updated to version 1.0beta3. The new version is available here:
ftp://ftp.afina.es/Elcano-1.0beta3.tbz

Everybody should update (just the files you haven't changed). Here's what's new:

- Fixed an error in the Topics module quick fix which would prevent its
administration
- Better PHP 5 support: the AFFORMS files were using call-time pass-by-ref as
a means of clarification. Unfortunately, the PHP guys took the strange
decision of deprecating this feature, so it was causing a load of warnings
in PHP 5.
- Due to the stupid way the PHP 5 function array_combine works, this function,
which was previously provided by Elcano for PHP 4 and used in some files,
has been renamed array_compose. It's recommended to use array_compose
instead of array_combine.
- Improved Topics module installation and uninstallation functions
- Modules administration would keep detecting Pagesetter as a new version
- The search plugin for the pnForum module was previously misplaced into the
Topics module
- DB icons for AFFORMS were missing from the bundled theme
- Other minor improvements

Enjoy!
View user's profile Visit poster's website
dmiranda
MD Staff
MD Staff


Joined: Dec 07, 2003
Posts: 768
Location: Kenya
bannato
Post  Posted: Mar 01, 2008 - 06:40 PM Reply with quote Back to top

Dont know if you are still working on this, but I was trying it out and found a couple of isues while doing so.

1)lines 319-321 in _elcano.sql create a 1064 error in my mysql, which is the default in the last version of xampp
2)after dealing with that, the site stops in
Fatal error: Call to a member function Execute() on a non-object in H:\Hometest\Elcano\includes\pnSession.php on line 332

_________________
We know what you are missing
http://www.hmtraveller.com
View user's profile Visit poster's website
Wiseman
MD user level 5
MD user level 5


Joined: Mar 15, 2005
Posts: 102
Location: Spain
bannato
Post  Posted: Apr 15, 2008 - 04:20 AM Reply with quote Back to top

Yes, we're still working on it. It has improved quite a bit since the last beta (more like alpha...) release; I'll see if I can get some time for another public release.
View user's profile Visit poster's website
Wiseman
MD user level 5
MD user level 5


Joined: Mar 15, 2005
Posts: 102
Location: Spain
bannato
Post  Posted: Aug 06, 2008 - 12:50 AM Reply with quote Back to top

Releasing Elcano 1.1 beta 1

What's new:

- Elcano now officially supports and *requires* PHP 5.x.
- Many radical improvements and new features in the form system, including
an all-new, more flexible search system with full-text and advanced date
search support.
- Improved server-side and client-side Elcano APIs.
- Improved compatibility with PostNuke 0.7x and legacy modules.
- Improved, simplified Elcano-style module conventions. Check elcano_mod.txt
in the documentation for more information.
- Contextual help system (module chelp, see documentation in docs/chelp.txt).
- The settings mod has been removed. Configuration is now done by editing
config.php directly.
- Flexible BBCode engine (a much simpler, easier to use and integrate
alternative to the pn_bbcode module).
- User ban facility (config/ban.php).
- Authentication plugin for impersonation (as an example of auth plugins; read
docs/auth.txt for more information).
- Prototype updated to version 1.6.
- Added sorttable.js for client-side flexible sorting of tables. List widgets
may now take classes to allow the use of sorttable.js .
- Improved browser compatibility (Firefox 2 is still recommended though).
- Minor speed optimizations.
- New permissions script to set permissions (perms).
- Some more documentation.
- Template module to easily create new modules (.Template).
- Lots of other fixes and improvements!


The docs/README.txt file has been updated, be sure to check it out.

Remember Elcano requires PHP 5.x and MySQL 4.1 or higher.

Release file: ftp://ftp.afina.es/DTSI/Elcano-1.1beta1.tbz

Enjoy!
View user's profile Visit poster's website
Display posts from previous:     
Jump to:  
All times are GMT + 13 Hours
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by MDForum 2.0.8© 2003-2007 MAXdev Team
Credits