Giter VIP home page Giter VIP logo

liquid's Introduction

Project Liquid

Project Liquid is the codename of the new ACM@UIUC website.

The master branch should always be an up to date working version of the website. Please do all developement in a Github fork and submit a Pull Request when the feature is ready to launch. It is good form and easier if you keep each feature in a seperate branch on your fork.

Issues and Feature Requests

Please use the github issue tracker to track tasks and current work.

Getting Started

To get started, fork the repository on Github so you have your own little plot of the internet to work with. Next, checkout that repo!

git clone [email protected]:USERNAME/liquid.git

After cloning to your computer you need to have the following system packages installed:

  • mysql
    • MAC: brew install mysql then mysql.server start
    • Linux: sudo apt-get install mysql-server

An important step in any Python project is setting up a sanitary work environment. You don't cook in a messy kitchen, do you?

cd liquid
virtualenv venv
source venv/bin/activate # run this whenever you open a new terminal session

Now we need to grab all of the Python packages:

pip2.7 install -r liquid/requirements.txt

Note there is a problem with certain versions of Pip and speciic packages. It works fine on Pip 1.0ish.

Run the fancy-shmancy script that will setup the database into an initial state.

python setup.py

Now let's start the website!

python liquid/manage.py runserver

Visit localhost:8000 in your browser.

Note that you will not be able to login unless you are on the UIUC campus network. If you want to work remotely, check out CITES VPN.

How to Submit a Pull Request

So you've gone through the setup above, eh? Ready to get to work? Good!

Add the acm-uiuc/liquid repository as a remote so you can pull in new changes from everyone else.

git remote add acm https://github.com/acm-uiuc/liquid.git
git fetch

Do the following whenever you want to pull in changes from the main repository.

git checkout master
git pull acm master

Now you will want to make each independant feature or bug-fix on a different branch. This keeps things tidy and lets everyone code review pull requests in small chunks. Let's make a new branch, do some work, and commit.

git checkout -b feature
# make changes ...
git commit -m "Feature X: description."

In order to make a pull request, you need to push your changes back up to Github.

git push -u origin feature

Now if you go to the acm-uiuc/liquid repository and make a pull request. After creating it, sit back and wait for the sweet, sweet praise to come in.

Sometimes (most of the time), the code reviewers will say "Hey you! You're wrong! Fix this! Change that!". Relax, we got this. Checkout your feature branch again, make your changes, and push it back up to Github.

git checkout feature
# make changes ...
git commit -m "I fixed it, yo."
git push

Your pull request will be automagically updated.

Note: It's important that you don't push commits that are not related to this pull request up to this branch. They will be added to the pull request and everything will get very mixed up. To check what branch you are on, use git branch or git status.

Troubleshooting

  • Python-LDAP won't install

    • Mac: OS X formerly had problems that were solved by instructions here.
    • Linux: Try sudo apt-get install python-ldap
  • mysql-python, reportlab or python ldap won't install with error:

    clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

    clang: note: this will be a hard error (cannot be downgraded to a warning) in the future error: command 'cc' failed with exit status 1

    • Should only occur on OS X with Xcode version 5.1 or greater

    • Fix: Try 'ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python=1.2.3' for mysql-python

      Try 'ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install python-ldap==2.3.13' for python-ldap

      Try 'ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install reportlab==2.5' for reportlab

      Then use 'pip install -r requirements.txt'

liquid's People

Contributors

ace-n avatar achalv avatar andzaytsev avatar bnookala avatar calvin-shirley avatar chorn21 avatar clarecat avatar cmr1347 avatar colegleason avatar dylnuge avatar jbensal avatar kevinwang avatar klnusbaum avatar m-dierker avatar milanocookies93 avatar ndryden avatar nhandler avatar pranaygp avatar reedlabotz avatar shunfu avatar silverdev avatar sskhandek avatar tommypacker avatar vpahwa avatar wchill avatar zmmille2 avatar

Stargazers

 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

liquid's Issues

Events display on front page needs redesign

Event titles should be given more prominence, and dates less. Possibly consider some sort of container. It looks very awkward when empty or close to empty. The "Events" header should not have a colon and it is too large. I'm not sure about the horizontal rule.

Won't run on ACM version of Django

Depends on Django 1.3.1 but 1.2.3 is the version in Squeeze stable repos right now. Staticfiles was added to 1.3, so this might present an issue in terms of supporting it.

Carousel Flicker

The buttons on the carousel flicker really weirdly when you're hovering over them and move your mouse slightly. I'm on Firefox 11.0 on Mac OSX.

setup.py failure -- 'membership_list' referenced before assignment

After asking for my UIN, the script failed with this error:

Traceback (most recent call last):
  File "setup.py", line 68, in 
    m.save()
  File "/Users/cole/code/liquid/venv/lib/python2.7/site-packages/django/db/models/base.py", line 463, in save
    self.save_base(using=using, force_insert=force_insert, force_update=force_update)
  File "/Users/cole/code/liquid/venv/lib/python2.7/site-packages/django/db/models/base.py", line 486, in save_base
    signals.pre_save.send(sender=origin, instance=self, raw=raw, using=using)
  File "/Users/cole/code/liquid/venv/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 172, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/Users/cole/code/liquid/liquid/intranet/models.py", line 73, in new_member
    membership_list.subscribe(user)
UnboundLocalError: local variable 'membership_list' referenced before assignment

Sortable Tables

Many of the sections under the Intranet display their results in tables. These tables can be quite large. It would be handy if you could click on column headings to quickly adjust how the table is sorted.

Website Design Templates

We need to come up with a good frontend that emphasizes current web design trends while also being very usable. Usability is always more important, and remember that form follows function. I've looked through a lot of professional themes on themeforest, but I wanted to see what we could come up with in house first. So, here is a sketch I did for the homepage. Tell me what you think.

Homepage sketch:
http://dl.dropbox.com/u/21151868/liquid-home.jpg

Missing Link to Thanks

The old website had a page thanking various sponsors of ACM from years past. It's always a good idea to be grateful to those who helped get you where you are. It might be a good idea to have a discussion in exec about what criteria gets a particular sponsor a spot on that page, and how long they get to stay on there.

r|p page..more branding?

Hey guys,

I know you all have much more on your plates, and this is by no means a priority, but just to put it out there:

Would it be possible to try changing where the header on the conference page says "Reflections | Projections" to be the logo at that's at the top of the homepage of the r|p website? Or if that looks ugly, maybe try putting the running man graphic somewhere on the page and/or experimenting with writing "reflections | projections" all in lower case? I'm just trying to think of ways to better brand ourselves and increase consistency between the two websites.

No Remove Member functionality

There's currently no way to remove a user from a group via the group manager. There should be.

Marking them as frozen will remove them from displaying on the SIG/committee page, but will still tell the user that they're a member of the group when they log into intranet. Also, over time, the list will grow to become very large if there isn't a way to remove members that are no longer members from the group.

tl;dr somebody implement "remove user from group."

Hide intranet links for those not authorized to view them

I have gotten messages from several users claiming to get a 403 error when they try to use intranet links that they don't have access to. The link itself should not be visible on the sidebar if a user does not have access to that tool.

Quote Database

I want to create a quote database app to keep track of those wonderful ACM moments.

It will be accessible via intranet, with the quotes either set to ACM members only or public facing.

ACM bash.org? I hope so.

Form Design

Forms need to be correctly formatted to fill the entire content width, both by rearranging fields and messing with some CSS widths.

Also, correct widgets should be used (check out sponsors on event pages).

Contact links on Conference page?

Would you be willing to consider adding some of the conference contact info (could even be directly copied from the current conference Contact Us page, or at the very least, main conference email, corporate email, and idk some of the social networking links would be cool too) to the liquid conference page? It's just a courtesy thing so people and companies who learn about us while visiting the acm website and want to get in touch don't have to go all the way through the other website to find out how.

Caffeine? Others?

Should the caffeine web interface be integrated with liquid at all??

Are there other such parts of the website that should also be integrated?

Missing Link to Wiki

I suppose this may also have been moved to the intranet, but I can imagine that there are plenty of wiki pages that should be public facing. Especially, for example, pages that detail how to get a cluster account, etc.

Website Priorities

I would like to fast-track the development of the website and then incrementally add features. So here is the stages I am looking at.

Version 1.0 (Baseline)

  • User authentication
  • Group pages with member management
  • Fully structured Base template with navigation to wiki/ old site until all features are moved over

Version 2.0 (Priority Features)

  • Treasure Chest
  • Conference is migrated as app
  • Events

Version 3.0 (Feature Creep items)

  • News
  • Events
  • Github integration
  • Cats

Calendar / Events

From my understanding, the current plan is to create a custom event manager in order to have better integration with the site. Currently, we are using a Google Calendar to manage ACM events. This provides many benefits:

  1. Ability to restrict who can read/write
  2. Recurring events
  3. Reminders
  4. Notifications about new events
  5. Ability to sync with many calendar applications and phones

While I understand the importance of having a visually appealing event manager, I think functionality should always come first. Would users be able to continue to utilize the calendar in this way?

SIG Website Management

Are we planning on moving all the SIG websites over to liquid? I think that'd be a good idea for making updating them more convenient. Most of the problem nowadays seems to be that it's a general hassle to update.

setup.py failure -- Cannot create top4

g = Group(name='Top4',type='O',date_formed=datetime.now(),mailing_list='[email protected]')

This line isn't valid since the mailing_list arg must be an instance of a List. I don't believe that [email protected] is a list, I believe it is a alias. You also can't leve that field blank since the south migrations assume that field to be non NULL

Missing Link to Projects

I see that there is a link on the homepage to ACM's github account, but I think there still should be a place for old (historical) projects that were done by ACM. Projects that predate the move to github.

Jobs Email

Jobs email not wrapping correctly:

ACM@UIUC Weekly Job Postings
Week of 04/17/12

With postings from:
Academy of Country Music

Title: Human Resources Director
Company: Academy of Country Music
Contact: Toby Keith [email protected] (217) 555-9857
Hiring for: Full time, Part time, Intern/Co-op
Description:
We got a letter, addressed to our HR Director, asking for a job.

We
don't have an HR Director.

Anyone want that job?

@uiuc.edu --> @illinois.edu

I think we are supposed to use @illinois.edu emails now instead of @uiuc.edu ones. Our about page still lists @uiuc.edu e-mails.

I can take care of this, but I'd like official approval first

Display Number of Results for Member Management

The member management page allows you to search and browse all of the ACM Members. It would be helpful if it said something like "Currently Displaying X results for foo", where X is the number of members being displayed and 'foo' is the search term. For the 'browse all members' page, this would allow us to see how many members we have.

Missing Link to Tutoring

I'm assuming that ACM still provides tutoring services, so there should be a page talking about how ACM offers these services and how to get them.

Development environment generator is nonfunctional

MySQL-python==1.2.3 does not install on all machines, due to an error in the egg data in it's setup.py.

python-ldap==2.4.9 has not been reported to successfully install on any machine.

We should isolate the cause of these issues and see if it is possible to have a working out of box development environment.

Conference Members List

Would it be possible to change the format of the conference members list?
Right now, I'd really prefer that people aren't listed publicly as members because we haven't been meeting long enough to have a stable idea of who's involved, and I don't want to risk offending anybody who's starting to get involved by listing some people as members but not others.
In the fall, once we get a better idea of who's involved and doing what, it would be really great if we could have a member list sorted by committees like this: http://www.acm.uiuc.edu/Conferenceware/Page/Staff, or at the very least, a cumulative list of members with asterisks or some other way to denote the committee chairs. Or maybe for now just have a list of the committees with the names of their chairs underneath?

Missing Link to Projects

I see that there is a link on the homepage to ACM's github account, but I think there still should be a place for old (historical) projects that were done by ACM. Projects that predate the move to github.

About page

The about page is out of date and needs to be updated.

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.