See my comments also inline:
Am Donnerstag, 13. September 2012 11:42:40 UTC+2 schrieb Mark Drew:
See my comments inline:
On 13 Sep 2012, at 10:29, Hendrik Kramer <hendrik...@gmail.com> wrote:
> What I really would like to see in the future is a better integration of the Apache POI library. It could also be as a plugin, and cfspreadsheet is a start, but creating, reading and handling PDF/Word/Excel and OpenOffice files the easy way would be highly appreciated.
Makes sense, and to me, it sounds like a great project for people to get involved in extending the cfspreadsheet extension! Check it out and extend it!
Yes, but it seems I need to rewrite it in many parts. I tested with an export document that includes only one style applied to the header row, and Apache POI throws an error of "too many styles applied". Solving this means rewriting it. But of course extending this is the best way of doing it. What I meant in relation here is that (correct me if I'm wrong) the POI library in Railo is rather old and conflicts with modern versions that could solve some problems. So considering these library from the Railo perspective as important as the built-in PDF would be nice. Creating native Excel/Word documents in an easy "CFML" way is a great addition to the platform IMO.
> Some other things I would like to see:
> - Integration of a mailserver, so we could better track delayed email delivery bounces
Makes total sense, so it's all integrated. Security would be an issue, so you don't become a relay but something like James could be added:
Yep, that would be fine. Working with external mailservers is possible, but having full control on server side is a nice addition.
> - New Coldfusion Template files that are allowed to handle only a specific subset of tags ( cfoutput/cfloop/cfif and custom tags maybe )
For views you mean? somethign like an .rt (railo template) compared to a .rct (Railo Class Template or something) ?
A new file type addition like .cft compared to .cfm or .cfc that could be used for views that mix html output with basic CFML flow control tags. Restricting tags in CF Admin for this template would be fine, e.g. no CFQUERY allowed in a view / .cft file.
> - Native support for NoSQL databases (we use cfmongodb here, but a native approach would be great)
I have been looking at OrientDB http://www.orientdb.org/index.htm which does both graphs and documents.
Something like this. Would be great to define the MongoDB, SimpleDB, CouchDB database in the CF Admin like SQL databases and having plain get()/write()/update()/find() statements built in.
> - cfargument type "integer" beside "Numeric/Number" (to circumvent special tests)
Then would you have double and float too?
I'm not tested it now, but I remember that CFML Numeric is "double", or not? We provide some SOAP webservices and "numberOfAdultsPerRoom" is returned as Double/Float in the WSDL which is a bit strange of course. At all, most tags like cfparam, cfargument and isNumeric could be tested for an integer or float value in a second step, but having isInt(), cfargument type="int" just makes it a bit nicer.
> - Easier creation and managing of archives for deployment
Like creating WAR files for example?
No, I mean the .ra archives. I have a mapping to a complete folder that holds our core framework components and would like to release it as .ra archives to other servers, but there are always missing files in the archives, so a deployment doesn't work without extra steps. But maybe it's my fault/misunderstanding of the concept, but I just want to have /com/hotelwebservice/* released as a compiled classes only archive (source code protection) to our customers.
> - Git integration ( to pull and install new releases from the PROD branch ) would be cool
Integration into Railo as a language feature or a way for getting the nightlies (not part of the product but more part of the process?)
Yes, both as a language feature and built into the Web Admin. Similar to the update process for new Railo releases (lovin' it), it would be fine to link the current web or subfolders against a Git repository and production branch and then list new updates and update/rollback to/from the newest version directly pulled from Git.
> - htmlunformat (parses html to normal text including html entities)
Maybe also Markdown processors or something? We already have XMLParse and HTMLParse by the way :) So you could do an XSLT on it and release it as an extension?
Yes, that would be possible. I'll check.
> - new functions to return false on functions like len() and isNumeric() etc. even when the value is not available (NULL) instead of throwing an error. Makes it easier for xml parsing.
Not sure on this one, but sure, this sounds like a bug? rather than a feature :)
No, it's not a bug. Consider to parse/import an xml file where you don't know if an attribute/node is there or not. Then you need to write every time:
if( structKeyExists( myXML.node.xmlAttributes, 'subSubNode') && len( myXML.node.xmlAttributes.subSubNode.xmlText ) )
Some other languages allow the following to be valid:
if( len( myXML.node.xmlAttributes.subSubNode.xmlText ) )
So the code return false if the attribute has no length or doesn't exists and you have to write less code. Same for isNumeric etc. Maybe this could be achieved by a second boolean parameter to len(), isNumeric(), isValid()?
Of course there is no must-have feature here and I'm already happy with the current state. It should be considered as an collection of ideas for future versions of Railo.