Giter Club home page Giter Club logo

echo360_custom's Introduction

Readme for the Echo360 custom interface web server - 23rd June 2010
--------------------------------------------
This application is no longer in active development. I put it here for historical purposes.

Server Overview
---------------
Run the development server in the root directory of this application by running 'script/server' (as per the standard rails package). The home page be at http://<ip address>:3000/ as expected and has links to all other parts of the website.

It currently can synchronise the following resources with the ESS - captures, presenters, schedule_rules, buildings, courses, rooms, sections and terms.
Many of them are not editable (such as terms and courses) via this interface, and it is intended as such. Some of them allow you to perform the CRUD operations (sometimes missing Destroy due to limitations or safety) such as schedule_rules. However, because we cannot perform POST or PUT requests yet, these changes only occur locally and are not committed to the ESS. Without the facility to perform correct POST and PUT requests, no changes to the ESS can be made via this webserver.

Loading times of certain pages will be much slower than others, and it is recommended that you perform synchronisation (button found on the homepage) with or without a database clearing to get updated information from the server. Synchronisation will take a while because it performs many HTTPrequests in order to get the information needed. Some pages, such as the captures schedule page also may take some time to open. This is a limitation mostly of the ESS and not something that can be optimised locally. This will be described in the following paragraph.

In order to get resource information from the ESS, HTTP GET requests have to be performed. It is possible to obtain information on multiple elements at once, but the responses to these 'collection' requests only contain summary information on the elements. To obtain more detailed information, e.g. course name, a requests for the element alone must be made. As such, loading the captures_schedule page with a large date range will take an inordinate amount of time because a http-request is being sent to the ESS for every capture that is/was scheduled in that date range.

Other bugs still do show up from time to time, and I have observed that in some cases, this is due to an inconsistency in the ESS (e.g. detailed information cannot be obtained for an object that contains summary information, or some necessary fields are missing from some resources).

The device links page is hardcoded, which also means that it will break when devices are swapped in and out. Device specific information such as MAC address or IP address cannot, as far as I have found, be obtained through the ESS through the scheduling API (the only API being used so far).

Error catching on the website is almost non-existent but in its current state is almost useless. If the ESS is unresponsive, the httprequest code will throw an exception which is not caught and will be exposed to the user. This will be rectified once the POST and PUT functionality is added to the server since mal-formed xml data sent to the ESS will be the primary source of errors and I think building an error catching system around that will allow for more a more robust website.

Code quirks
-----------
The utility code can be found in app/helpers/util. Utility code includes the http_request, o_auth and xml parsing code. It currently also contains some html generator functions (html_gen).

Version Control Stuff
---------------
As of the writing of this readme, the latest version is on the git branch 0.0.8_app_data but the last working copy (hopefully) has been merged into master. Older branches have been kept as 'savepoints' just in case I need old copies.

Technical Overview
-------------------
Most of the resources necessary are included.
Missing parts are -
  REST interface for creating a capture schedule
  Local Authentication
  Ability to POST or PUT (currently doing testing in the sched_viewer project
    Need either more input from Echo360 or a test server


Changelog -
Jun/1/2010 - Lost the old readme, had to create this new one. Resources have mostly been set up.

Todo - 
Need to work on the CSS to create a better layout/color palette for the site.
Fix http_requester to allow for PUT and POST

Notes -

echo360_custom's People

Contributors

ccuadrado avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.