1 / 11

Progress with Carrot

Progress with Carrot. Valeriy Onuchin. Plan of the talk. What is Carrot? What’s new in the coming release? The future of the project. What is Carrot?.

Download Presentation

Progress with Carrot

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Progress with Carrot Valeriy Onuchin ROOT 2002, CERN

  2. Plan of the talk • What is Carrot? • What’s new in the coming release? • The future of the project Valeriy Onuchin, CERN

  3. What is Carrot? • Carrot is a module for Apache web server which enables the use of C++ as an HTML-embedded scripting language as well as executing C++ macros. It is similar to PHP, in functionality: http://carrot.cern.ch/index_C.so?about Valeriy Onuchin, CERN

  4. What’s new in the coming release? • File uploads • Improved TApacheBrowser • SVG graphics and animation • New configuration options • Code correction and optimization • Automated Garbage Collection • More examples Valeriy Onuchin, CERN

  5. File uploads • Carrot is capable of receiving file uploads from browser • the code was mainly “borrowed” from PHP and follows their “ideology” <form enctype="multipart/form-data“ action="resp.C" “ method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> • calling gSystem->Getenv(“userfile”) in resp.C macro will returns a name of uploaded file Valeriy Onuchin, CERN

  6. Improved TApacheBrowser • Possibility to make a query on a TTree and “scan” the result of query • Possibility of file download while browsing • Possibility to switch on/off popup canvas • Browsing other types of TFile (TNetFile, TRFIOFile, TDCacheFile ) Valeriy Onuchin, CERN

  7. SVG graphics and animation • An example added how to save TPad in SVG format and display it on the web • An example how to create SVG file with frame based animation added • similar to animated GIF example Valeriy Onuchin, CERN

  8. New configuration options • $ROOTSYS/etc/system.rootrc • Carrot.CanvasPopup: on/off • Carrot.TmpDir: path to TMP directory • Carrot.CacheSize: size in Mbytes • Carrot.UploadFiles: on/off • Carrot.DefaultImageProgram: program name • … Valeriy Onuchin, CERN

  9. Code correction and optimization • Processing cookies now follows RFC2965, RFC2109 standard • Speed optimization of the code was done • Separate GET,POST,Cookies,FILES lists were introduced Valeriy Onuchin, CERN

  10. Automated Garbage Collection • While processing client request server allocates memory (pool) which is freed when request is over. Overloading “new” operator which allocates memory in request’s memory pool enables to have “Automated Garbage Collection”. Valeriy Onuchin, CERN

  11. The future of the project • Testing on different platforms • Creation Apache-2 module • Improving TApacheBrowser • add possibility to browse relational databases • What else? Valeriy Onuchin, CERN

More Related