ASP Xtreme Evolution
The ASP Xtreme Evolution goal is to be a versatile MVC URL-Friendly base for Classic ASP applications with some additional features that are not ASP native. It should implement things that are common to most applications removing the pain of starting a new software and helping you to structure it so that you get things right from the beginning. Our key concepts are choice and freedom over limiting conventions, polyglotism, sustained quality, extensibility which we try to implement in a clean, maintainable and extensible way.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
A little about the binary extensions
First of all, ASP Xtreme Evolution is based in some extensions, but don't worry it's all free or open source and already comes with the package. Although, if you want to check the original projects, here's a list of their sites:
- Microsoft Core XML Services (MSXML) 6.0
- Ionics Isapi Rewrite Filter
- Crazy Beavers Imager Resizer and Zip
Unzip the entire zip package in your HD and upload it to your domain FTP.
If the domain is not registered in the server yet, register it in IIS pointing it's root to the folder where default.asp is located. Don't forget to check "Run scripts (such as ASP)".
If your server does not provide a default cgi-bin folder, create a virtual directory named "cgi-bin" in your domain root pointing to /lib/axe/bin. Don't forget to check "Execute (such as ISAPI applications or CGI)"; Otherwise, move the contents of /lib/axe/bin to your cgi-bin folder.
Give only "Read and Write" permission to your /app/writables folder.
Go to your site properties and in ISAPI Filters tab, click [Add]. Fill the box with the following data:
Filter name: IIRF
[Browse...] to C:\Program Files\Ionic Shade\IIRF 2.1\IIRF.dll
Go to your Web Service Extensions and Add the binaries that comes with the package. They are located at /lib/axe/bin and their names are:
- CB Image Resizer (Imager.dll)
- CB Zip (CBZIP.exe)
- Don't forget to check "Set extension status to Allowed".
- If Active Server Pages is not allowed yet, allow it too.
If your server does not support MSXML 6.0 yet, install it. It's available at: /lib/axe/bin/msxml6.msi
Create an application pool for the application views.
Set /app/views to the application pool created in step 8.
That's it! Open a Web browser and type your domain. The "Welcome to ASP Xtreme Evolution" page should open.
Mmmm, I really don't have a track of the fixes 8'( but changed a lot of things for sure.
- routing system based on /app/config.xml
- new logo and favicon
- /app/singletons.initialize.asp and /app/singletons.finalize.asp to manage application singletons.
- classType and classVersion properties in all classes
- new View
- genericView provides an easy shortcut for you to send an entire view content.
- new functions
- iif(expr, truepart, falsepart)
- strsubstitute(template, replacements)
- sanitize(value, placeholders, replacements)
- Kernel.exception(message) (reason: framework error system is now based on the same of asp.dll)
- and a lot more basic math functions...
- new classes
- new services
- Changed folders structure
- Moved /assets/default to /lib/axe/assets
- Moved /app/docs to /lib/axe/docs
- Moved /app/bin to /lib/axe/bin
- Moved /app/core/lib to /lib/axe/classes
- Moved /app/core to /lib/axe
- Changed classes filename structure
- renamed filename.class.asp to filename.asp
- Moved everything from ANSI to UTF-8. It's now possible to write 長尾 (nagao). Note: changing the encode is easy as updating default.asp and global.asa
- Changed both Kernel.loadTextFile and Kernel.createFile from FSO to Stream for better UTF-8 support.
- updated classes
- JSON (more methods and fixes!)
- Updated error.asp (better coding, new behavior).
- defaultView.asp displays both INSTALL.md and CHANGES.md content
- INSTALL.md and CHANGES.md are now written in Markdown syntax.
- removed Application("Msxml.version") and fixed the version to 6.0.
- removed iif() from classes.
- better templates!
- better documentation! It's updated to use NaturalDocs v1.4. Of course it still uses GeSHi and Tidy too.
- SOAP Toolkit
- updated to 2.1 (current latest stable)
- enhanced URL-Rewriting
- a lot of other minor updates to make the Framework better ...
- removed functions
- Kernel.urlDecode(s) (reason: that function was not compatible with all types of Encoding.)
- Kernel.htmlDecode(s) (reason: not required for Kernel.)
- Kernel.sanitize(s) (reason: using base.asp one instead.)
- Kernel.addError(sError) (reason: framework error system is now based on the same of asp.dll)
- Kernel.hasErrors(saErrors) (reason: same as above)
- Fixed the empty shuttle bug. This error was occuring everytime you call a view without adding keys to the Session("this")
- Fixed a bug in the JSON Class getChildNodes method which wasn't working for objects with depth >= 3. Thanks for Sven Neumann for pointing it.
- Enhanced the rewriting rules (last one was writing logs and executing 3 tests for all request.).
- Enhanced standardization to fit W3C Level Double-A Conformance to Web Content Accessibility Guidelines 1.0.
- Added [object Array] detection in JSON Class. It's required because if you define ['one','two,three','four'] in the old one getElement returns the "one,two,three,four" string.
- Fixed last slash bug for complete URL Rewrite (/Controller/action/args/).
- Fixed no special chars bug (no '%') in urlDecode.
- A misspell in Imager Class.
- Fixed the evil "operation timed out" error creating another Application pool for the view folder. More info.
- To fix the "80020009" error change AspMaxRequestEntityAllowed parameter in the C:\WINDOWS\system32\inetsrv\MetaBase.xml from 200000 to something between [0, 1073741824] bytes and iisreset.
- Fixed Memory Leak in the Server View Requests.
- Model, View and Controller Templates.
- My standard favicon in the Framework pages.
- Changed Controllers Standard Structure to create scopes per action.
- Created a new Welcome page (changes in the defaultView and defaultModel).
- Removed all NON-ASCII characters and changed the standard encode from UTF-8 to ASCII.
- Initial Release