Giter VIP home page Giter VIP logo

commoners's Introduction

License

GNU General Public License Version 2 or (at your option) any later version.

Dependencies

apt install apache2 mysql-client libapache2-mod-php php7.0-fpm php-mysql php-curl php-dom

Configuration

Apache

a2enmod rewrite
apachectl restart

WordPress

See the setup/ directory for information.

How To Install

Production

See the setup/ directory .

Testing

See the test-setup/ directory.

Be very careful with this code, it deletes things. And drops them.

Design Notes

CAS Maestro

Our version changes how usernames are taken from the CAS server to use the CCID global nickname.

cc-global-network

cc-global-network is a monolithic plugin that supports the registration and vouching functions that we need.

Registration

cc-global-network removes those parts of the BuddyPress User Profile UI that clash with the use of CAS for login - the ability to change the user email and nickname, etc.

Registration forms are implemented using GravityForms.

Vouching

cc-global-network uses WordPress's APIs to determine whether a user is logged in, and if so whether they are an admin or not.

It uses its own database table to track how many vouches a user has received. The user interface for vouching is implemented as a GravityForm.

cc-global-network uses Buddypress's APIs to control each user's access to profile information based on whether they are logged in, vouched, or can vouch.

The user levels that result from this logic, and that the code considers, are:

  • PUBLIC - The user is not logged in. Anything they can see can be seen by the entire world.

  • APPLICANT - The user is applying to become a member. They can see existing members' basic profiles.

  • VOUCHED - The user is vouched and approved as a full member. They can see everyone's full profiles.

  • ADMIN - The user is a WordPress Administrator.

commoners's People

Contributors

hugosolar avatar lainternet avatar little-wow avatar

Watchers

James Cloos avatar  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.