Git Product home page Git Product logo

transitscreen's People

Contributors

caywood avatar cmcglynn avatar mobileric avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transitscreen's Issues

Update DB schema

This bug was originally filed by @joalpeca1:

To start working this software with php and mysql you need do these changes:

In user_model.php in the function validate. You are calling $user->username = $row->username; but username doesn’t exits in the database I changed it for $user->username = $row->email; and start to working.

Plus you need add some columns in the tables that don’t exist in the database:

Table: "agency_stop" you need add a column "exclusions” because is call in a select inside the system if you don’t add this it will fail.

I wasn’t sure about the type so I just declare as "exclusions varchar(100)"
No sure is the correct type but so far it works.

Table: "blocks" you need add a column "limits" because is call in a select inside the system if you don’t add this it will fail.

I wasn’t sure about the type either here so I just declare as "limits int"
No sure is the correct type but so far it works.

You need this modification in your php.

Anonymize screen IDs for privacy

Currently screen IDs are generated sequentially which is fine for public screens.

For personal screens, we should give them a short hash-tag based on the user ID.

Host admin interface

What site will be used for hosting the admin interface?

I just grabbed TransitScreen.com (and TransitScreens.com) so unless we have other plans, we should use those. I can transfer them to Mobility Lab, or can redirect as required.

Connexionz (ART) API throws various warnings when no predictions are available

Probably because nothing is in the array. This is probably not critical? Example:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: out

Filename: helpers/transit_functions_helper.php

Line Number: 409

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: helpers/transit_functions_helper.php

Line Number: 409

A PHP Error was encountered

Severity: Warning

Message: array_multisort() [function.array-multisort]: Argument #1 is expected to be an array or a sort flag

Filename: helpers/transit_functions_helper.php

Line Number: 415

Devise a more granular implementation of sleep hours

The current model uses the same sleep and wake hours for Mondays - Thursdays, Fridays, Saturdays, and Sundays. Ideally, each day of the week should be customizable and there should be better handling of the fact that some screens may need to go to sleep early in the morning rather than before midnight.

iframe attribute bug

And one additional thing in the application/views/screen_wrapper.php

They create an iframe with jquery but the problem they add the attribute class which is not allow for iframe.

My solution for achieve the same result they want to do was the follow:

Old code:

        $('<iframe />', {
          id:     'frame-' + versionval,
          class:  frameclass,
          src:    '<?php print $callurl; ?>?' + now
        }).appendTo('body');

        frameclass = 'hidden';    

My code:

        $('<iframe />', {
          id:     'frame-' + versionval,

          src:    '<?php print $callurl; ?>?' + now
        }).appendTo('body');

        if(frameclass.length>0)
        {
            $('#frame-' + versionval).show(); 
        }
        if (frameclass== 'hidden')
        {
            $('#frame-' + versionval).hide(); 
        }


        frameclass = 'hidden';   

when NextBus has no predictions, XML isn't handled properly

This causes the screen to show up empty because of the lack of error-handling.

The XML looks like:

<body copyright="All data copyright DC Circulator 2012."><predictions agencyTitle="DC Circulator" routeTitle="Georgetown - Union Station" routeTag="yellow" stopTitle="K Street NW And 24th Street NW" stopTag="k24th_w" dirTitleBecauseNoPredictions="Westbound">
</predictions><predictions agencyTitle="DC Circulator" routeTitle="Georgetown - Union Station Night" routeTag="gtownpm" stopTitle="K Street NW And 24th Street NW" stopTag="k24th_w" dirTitleBecauseNoPredictions="Westbound">
</predictions></body>

in transit_functions_helper we want something like:

$destination = (string) $busxml->predictions->dirTitleBecauseNoPredictions;

instead of:

$destination = (string) $busxml->predictions->direction[0]->attributes()->title;

Make TransitScreen work on Internet Explorer

Currently TransitScreen doesn't show anything on IE - not even the "loading" message.

At least iframe issue #54 is preventing it from working. There may be other incompatibilities.

Minimum target version is IE8+.

Internet Explorer issue

For see the styles in internet explorer you guys need add the

in the file application/views/include/screen_header.php

when you dont specify what kind of document is ie will not read as one so it will no have render very well in ie.

Sleep time assumes server time zone and screen time zone are identical.

I dont know if you guy advice about this but for the sleeping and awake time people need have in consideration the time of the server with the time of the client.

Because i have 3 hours delay with my server and i setup the awake a 6:00 am but it didnt work until 8:00 am so becareful with that

Add support for images in addition to custom text

This would allow the addition of the Mobility Lab logo to screens, or a QR code directing passers-by to a webpage about the screens.

Cooler feature: automatically produce a QR code from each screen's web address and display it in the bottom corner. You could then "take the screen with you" and use it in a neighboring location, at your desk in a building, etc.

Add mobile app features to webpage

Borrowing from https://github.com/MobilityLab/TransitNearMe/blob/master/tnm/templates/client/leaflet.html:

in head

<link rel="shortcut icon" href="/favicon.ico" />
<link rel="apple-touch-icon" href="{{ STATIC_URL }}images/CPlogo.png" />

in body

<noscript>
<div id="noscript-padding"></div>
<div id="noscript-warning">Transit Screen requires a JavaScript-enabled browser. <a href="https://www.google.com/support/adsense/bin/answer.py?answer=12654" target="_blank">Not sure how to enable it?</a></div>
</noscript>
<script type="text/javascript">
  if( navigator.userAgent.match(/Mobile/i) &&
      navigator.userAgent.match(/Safari/i)
    ) {
         document.title = "Transit Screen";
      }
</script>

Allow Metro lines to be separated by direction

Currently we can't separate Metro lines by direction. It would be nice to have one row display westbound service and another eastbound (for example.) We could use the existing exclusions rule to do this.

Implement a directional user interface layout

The current transit screen UI doesn't lend itself to directional guidance, but it's very natural to want (for example) westbound services on the left, eastbound services on the right.

One design idea is a 3x3 grid where the outer 8 squares are taken up by blocks of directional services, while the center square is for nondirectional services (e.g. Bikeshare, Car2Go).

Westbou  | Northbound 1
nd1      | Northbound 2
Westbou  -------------------
nd2      |NonDir1| Eastbou
         |NonDir2| nd1
 ----------------- Eastbou
    Southbound 1 | nd2
    Southbound 2 |

The major issue with this design is that column widths are not equal (WB and EB are narrow, NB and SB are wide). The current UI handles three different column widths by wrapping text, which should work.

A further question is whether to left or right justify the text in each square.

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.