Git Product home page Git Product logo

universibo_old's Introduction

UniversiBO

What is UniversiBO?

UniversiBO was a Web Community joined by Students, Professors and Staff in Alma Mater Studiorum - University of Bologna, Italy since 2002.

On Tuesday, 25 Feb 2020 the only production server crashed abruptly and on June 2020 the student association ceased its activities.

Running UniversiBO

You can get a working copy of UniversiBO in 6 easy steps:

  1. Install virtualbox https://www.virtualbox.org/
  2. Install Vagrant http://vagrantup.com/
  3. Run vagrant plugin install vagrant-vbguest
  4. Fork this repository and clone it
  5. Run cd vagrant && vagrant up and wait around ten minutes while Vagrant does all the magic
  6. Open your browser at http://localhost:8888/app_dev.php

Then you can log in, available users:

  • admin
  • student
  • professor
  • tutor
  • staff

password is always padrino

Running automated tests

Do vagrant ssh to get inside the virtual machine and cd /vagrant to get to the proper directory.

  • PHPUnit (including Selenium) tests bin/phpunit -c app
  • Behat:
    • bin/behat @UniversiboDashboardBundle
    • bin/behat @UniversiboWebsiteBundle

Xvfb, Firefox and Selenium Server are already installed.

To enable Selenium testing run /etc/init.d/selenium start

To disable Selenium testing run /etc/init.d/selenium stop

Contributing

If you wish to contribute please read CONTRIBUTING.md file.

Past contributors

We did our best to preserve the whole history from our Subversion Repository but something has been lost. A special thank to iliasbartolini who founded and led the project in its first years of development (560 commits) together with Andrea and Matteo who worked hard on management side and to the other (around) 200 people involved in this project over the years.

Contributors from Subversion history (SourceForge username)

  • iliasbartolini (560 commits)
  • evaimitico / evaimitico-good (394 commits)
  • lasthope83 (137 commits)
  • dvbellet / dbellettini (100 commits)
  • roby_46 (24 commits)
  • mel82 (4 commits)
  • tntimo (4 commits)
  • greatkris (3 commits)
  • giorgitus (1 commit)
  • iceblack (1 commit)

Continuous integration

UniversiBO uses Travis and Scrutinizer Build Status Scrutinizer Quality Score Code Coverage

License

Copyright (C) <2001-2015> Associazione UniversiBO

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

universibo_old's People

Contributors

bitdeli-chef avatar dbellettini avatar fabiobusinaro avatar linktdp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

universibo_old's Issues

Create PrivacyService

Create a simple service which tells the system if current user has whether accepted the latest privacy policy or not.
Needed for user story #10

As registered User I want to upload a File

In every channel I'm allowed I will see a "Upload file" link.
I will fill a form with these fields:

  • Title
  • Description
  • Tags (optional)
  • Access level: Registered user / Everybody
  • Password (optional)

I can choose to upload a file in more than one channel.

As User I want to list News in a Channel

If I go to a channel and It's news-enabled I will se a list of latest news (e.g. latest 4).
I will find a "Show all button" to see all of them.
By clicking on the title I will see a single news

RSS Feed

Add rss feed for files and news

As registered User I want to delete a File

If I'm allowed I will see a "Delete file" link.
The page will ask from which channels I want to remove the file from.
If File is removed from all channel It will be deleted from disk.

Remove black template

  • Remove black template files
  • Remove template option in ShowPersonalSettings (make field hidden if needed)
  • Write a migration for changing template to all users

Encoding issues

Some letters like àèìòù were lost when migrating source code to GitHub resulting in wrong characters.

How to fix:

  • use $template->assignUnicode()
  • in error throwing use ASCII-only characters

Store passwords with sha1 and salting

Currently password are encoded using md5 algorithm.

  • add an algorithm column to table utente
  • add a salt column to table utente
  • increase the lenghth of field password in table utente

whan a user logs in the system should check if the password is encoded using the old system and update it

As registered User I want to send a news

Only if I'm allowed to add news to a channel I will see "Add News" Link
I will fill a form with these fields:

  • Title
  • Content
  • Expiration date
  • Urgent yes/no
    At the end I will see the news as published.
  • Channel list
    The channel which I'm coming from should be selected and I must see only channels I'm allowed to post news

At the end I will see the news as U.S. #26

As User I want to download a File

By clicking a "file link" on a channel I will see a description page:

  • If file is not accessible by anonymous user I will be asked to login
  • I will be prompted for a password If set by who uploaded It
  • Finally I will be able to download the file by clicking "Download" button

Shibboleth support

The University of Bologna computing center ask us to use Shibboleth to authenticate user.
Our server will use Apache mod_shib2.

Drop Pear::DB support

Since Pear::DB has been deprecated years ago we should do everything with Doctrine DBAL or ORM

As registered User I want to delete a news

If I'm allowed to do so I will see a "Delete news" link.
By clicking the link I will asked which channels I want to delete the news from.
If I delete the news from all channel It will be deleted

(news deletion should be logical, by adding a deletedAt field)

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.