Giter VIP home page Giter VIP logo

senecabbb's People

Contributors

adam-sharpe avatar capilkey avatar fardad avatar garydeng avatar stanica avatar ystallonne avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

senecabbb's Issues

Add the ability to add an internal user to the system manually

We need to add a section to the top of the manage users page to allow for adding an internal user to the system. The logic for validating a user is already in the system and is used in the add attendee validation, but we need to expose it in the manager users page.

User fardad.soleimanloo can't create guests

fardad.soleimanloo is an employee and also has admin rights. He can see the "Invite Guest" link, but when it is clicked a message is displayed saying that he doesn't have rights to view that page.

The page should check for admin first and let the user load the page if they are an admin.

User Roles should be assigned to individual

Currently we only have three user roles (student, employee, guest) we should have individual records for each user so that each user can have unique settings.

The user_role table needs to have the ur_id changed to AUTO_INCREMENT and there needs to be an extra column for bu_id. The ur_id column needs to be removed from the bbb_user table as well.

When a user logs in for the first time we need to grab the appropriate predefined role value and create a new role with that same value for the user.

Modify Event information not loaded properly

when an event is modified all the information of the event must be loaded into the form:
bug:
1 - The date entries (drop down and calendar) must be synchronized. (End date is not!)
2 - description is not loaded

Also make sure when an event is being modified, if the event has repetition (series of events) then the start date must be set to next upcoming event (i.e. first one after today's date; like this previous events can not be modified)

File upload to add students to a class does not work.

I downloaded the tab separated values from the black board and tried to add it to oop344A-201303.

It failed with following error messge:
Sorry,we only support CSV with comma separated or XLS with tab separated file format!
at 2:10 Pm, 25/11/2013

Automated Invitation Email has bad message for guests

This massage is good for internal seneca users and not for guests:
"Hello:
You are invited by Fardad Soleimanloo to join a meeting in Seneca BigBlueButton web
conferencing system.
Please use your Seneca College user account and password to join the meeting at:
etc..."

The message should say:
"Hello:
You are invited by Fardad Soleimanloo to join a meeting in Seneca BigBlueButton web
conferencing system.
Please use your Guest id: "guest.whatever" to login and to join the meeting at:
etc...."

fullcalendar library enhancement

When user choose "Week" or "Day" option to view events in calendar page, event information would be displayed properly if the event duration is greater than 30 minutes; However, if the duration is too short, user could not see the event information at all.

Add a timer option to the message display

Add a timer value to the message display module; if the timer is set, then after the time set, the message will hide, automatically.

Like this, if you want to show un-important messages (like welcome message) it will disappear automatically so the user does not need to close it every time they are logged in to the system.

Year Semester format is wrong

Year semester format in Seneca is as follows:

yyyys

yyyy is the yaer
s is the semester, possible values are: 1, 2 and 3
ie:

2013 fall semester is : 20133

The language for adding a user as attendee/guest is confusing

There are two things that make adding an attendee confusing.

The first is that on the View Event page there are buttons for "Manage Attendee" and "Manage Guest", but we also use the word "guest" to describe people from outside of the organization. This leads to confusion about what each page does because of the ambiguity.

The second problem is that on the Manage Attendee/Guest page there are fields for adding a user and searching for a guest user. No where on the page does it say that you need to enter a userid into the add field and a full name into the search field. We need to either change the text or add additional descriptions to clarify what to do.

Some of the error messages have spelling errors

Someone needs to go over all of the error messages and check the grammar and spelling of them.

The one that I noticed had an issue was the error message that is generated when trying to delete a section that has lectures attached to it. It says "section could not be deleted" instead of "Section could not be deleted"

Change record retrieval to tie column data to the column name

Our current data format has the column data assigned to a number representing the column position [results.get(0).get(2)]. We need to change the retrieval so that the column data is assigned to the column name [results.get(0).get("bu_id")].

This will make changing the database much easier as it won't break all of our pages because of column counts or positions changing.

Internal server error when starting a new meeting from chrome

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.StringIndexOutOfBoundsException: String index out of range: 19
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.StringIndexOutOfBoundsException: String index out of range: 19
java.lang.String.substring(String.java:1907)
helper.Validation.checkStartDateTime(Validation.java:116)
org.apache.jsp.persist_005fevent_jsp._jspService(persist_005fevent_jsp.java:174)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.

Apache Tomcat/7.0.26

Name and Last name does not accept spaces

When Creating a guest, I noticed that space is not accepted in First and Last name.
What if someone's name is "Homer Jay Simpson"?
How can we invite him as a guest?

When Clicked on an action that returns to current page, make the page stay at the same location and not scroll down

Open departments then click on ICT users in listed departments.

then scroll down (make sure the browser is short enough for scrolling to be possible).
Then click on "set admin status" icon of the last user.

upon clicking this; the page will scroll down (because it is reloaded) and to see if the action took effect the user has do scroll down again to find the user.

Either make sure you scroll down automatically to the exact position when the page is submitted to it self, or use ajax not to reload the page.

Comment out the pre-upload presententation UI elements

We have decided to push back the implementation of pre-uploaded presentation, but the UI is still in place on the view event page. The elements should be commented out.

There might be other pages that have content that need to be removed as well.

The edit user page should have checkboxes

The edit user page currently uses textboxes for the boolean properties and they should really be checkboxes instead.

Also, when you click save and are redirected to the user list the message is incorrect.

I don't think that the 'DBAccess' class is thread-safe

While testing stuff out, a few times I would get a null pointer exception on the console. Something usually like this (the timestamp is not correct):

Jan 15, 2015 1:03:30 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/SenecaBBB] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at com.mysql.jdbc.ResultSetImpl.checkColumnBounds(ResultSetImpl.java:830)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5774)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5693)
at db.DBAccess.queryDB(DBAccess.java:117)
at sql.Lecture.getAllProfessorCourse(Lecture.java:176)
at org.apache.jsp.create_005fevent_jsp._jspService(create_005fevent_jsp.java:157)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:724)

The stack trace indicated that the cause was line 117 of:

https://github.com/SenecaCDOT-BigBlueButton/SenecaBBB/blob/master/web-app/src/db/DBAccess.java

I haven't looked at it too carefully, but I think the problem is because a lot of the SQL stuff is a property of DBAccess, and (according the comments) DBAccess is a singleton on a session, if the same session triggers two calls to the 'DBAcess::queryDB' method before the other has completed, both threads may be reading and writing the same properties at the "same time" (interwoven). This is because internally, Tomcat spawns a new thread for every request (not every session), and uses request.getSession() to obtain the session instance. This means that two distinct requests can be tied to the same session, which means that two or more threads handling different requests can be operating on the same session instance.

A quick fix would be to simply add "synchronized" to all the methods (locking the properties of "DBAcccess"), or making the variables local to the functions. I would need look more closely at it to find a better solution... What do you guys think?

Also, I need a way to programmatically test this, because clicking very fast between pages usually doesn't trigger the error (I only got it twice after trying for a long time).

Email a person after they are added to a meeting schedule

Need to add three keys to config.properties. We need a key to tell whether to send emails, a key for the employee mail server, and a key for the student mail server.

There needs to be a check to differentiate between students and employees and after that is done attach the appropriate server to the end of the user id. The check could be a regex check for a "." in the user id.

If the user that was added is a non-ldap user then we already have their email and the checks can be skipped.

It would be nice if the text of the email that is sent out referenced the name of the meeting and maybe whether or not they are being added to a schedule, a class, or to an individual meeting.

Add the ability to preupload slides

We need to add a new page or modify an existing page so that a user can pre-upload materials (Full list here, https://github.com/SenecaCDOT-BigBlueButton/bigbluebutton/blob/master/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml#L116). They should only be able to upload those file types.

When a meeting is started URLs to the pre-uploaded materials need to be attached to the create API call. The format of the url should be bbbman.senecacollege.ca/SenecaBBB/presentation/m_id-ms_id-sample.ppt. We then use a url rewriter to change the URL to bbbman.senecacollege.ca/SenecaBBB/presentation.jsp?p=m_id-ms_id-sample.ppt. The JSP can then validate the user if they are trying to download the material themselves or if the meeting is currently running it will just return the contents of the file.

For documentation on the API call for pre-uploading slides see, http://code.google.com/p/bigbluebutton/wiki/API#Preupload_Slides.

Modify Search Module

Two entries:
1 - Exact id search that does exactly what it does now:
2 - A first name and last name search (in one field)
this search searches the space separated tokens entered in the field against the name and surname in the database and passes back as follows:
name like token[0]% AND surname like token[1]%
Then the user selects one of the search results.

Recordings viewable for meeting that was never started

I created a schedule called "BBB Weekly Team Meeting" and when I went to view the page for the first meeting it shows a link to view the recording, but I haven't started the meeting yet.

Possible causes could be:

  • same schedule name by same user
  • same schedule name across users
  • something else

UI broken

create event and quick meeting page's ui are broken, select menu doesn't work!

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.