Socialcube 2.0 has landed

Socialcube 2.0 is here

Today we’ve reached a big milestone by releasing Socialcube version 2.0.
We’d like to thank everyone who sent us feedback on how to improve the platform and how to reproduce bugs.
Also you can follow us on Twitter so you won’t miss any updates: https://twitter.com/socialcube_stat

Changelog Socialcube 2.0

New features

  • GradeLink API. This API got much attention in the media and is now finally ready. It allows developers to add Socialcube integration into their apps so they can reward players for academic achievements
  • Added export function for courses (Excel compatible CSV only at the moment)
  • Added institution types (Private, Educational institution, Nonprofit organization, Corporate/Startup). This means also for the first time private users can create a Socialcube account. Parents can use it to reward their kids with XP for house work. [more]
  • Added archiving courses function. Teachers can now archive courses. Archived courses are considered closed, settings can’t be changed, XP can’t be given
  • Added notification system. You can get notifications for events like “received XP”, “student joined course”, etc. configure it on the settings page
  • Added cubes to code and code to cubes function. This allows users to send cubes to one another or to find geocache-like codes which can be converted to cubes
  • Added a new game: Hackits. You can solve Password-riddles and earn Cubes for every solved level
  • Users can now be in multiple institutions. Also users can have different user types in different institutions so a teacher in one institution can be the student in another
  • Teachers can now define individual grading spectrums with detailed percentages for each grade
  • Added grade “Ungraded” for students who’s XP are under the lowest defined grade
  • The language can now be changed via the settings page (only english and german for now)

Updated features

  • Teachers can now select all students when giving XP
  • Added institution log where institution admins can see who joined their institution
  • Added more features for institution admins
  • The alternative xp field is now working properly
  • Teachers can now give XP easier by switching between students with the “TAB” key (added tabindex)
  • The changelog will now be shown via twitter iframe from our official Twitter account
  • Teachers can now set an XP multiplier for each student. This is important for special needs schools and for teachers who want to reward students with “double XP weeks” or similar
  • Added crypto currencies to the Stock game
  • The module Cubes is now an integrated part of Socialcube and can’t be disabled by institution admins anymore
  • Design and font improvements
  • Grading details (XP log and Graphs) are now hidden by default and can be shown with a button click. This makes the grading overview much cleaner for teachers
  • Fixed a bug with the XP bars

Security improvements

  • All uploaded files (eg. pdfs you attach to assignments) are now fully encrypted on our servers and get decrypted just before a user downloads them. After the download the decrypted temp file is deleted. If you choose to delete your user account from Socialcube, part of the decryption key is lost and the file you uploaded won’t be usable by anyone
  • Implemented Bruteforce and SQL injection recognition system (Socialcube IDS). If someone tries to hack your account by bruteforce or SQL injections the server will block these attempts without them realizing
  • Added token-based login system. You can now see which devices are logged in your account and you can revoke tokens. This gives you more control over your account

Upcoming features

  • Achievements
  • Report cards
  • Course export to PDF
  • Penny auction system with cubes
  • LDAP login system
  • eduGAIN login system

Technical info for geeks

  • All passwords in our databases are sha512 hashed and salted with multiple dynamic and static salts
  • We will soon move to a system where storing passwords in our database or on our servers is not necessary anymore
  • The file encryption system for all uploaded files uses AES256
  • We switched from Apache to nginx and had notable performance improvements
  • Socialcube runs now on PHP 7. Until now it ran on PHP 5.4
  • For error reporting and performance measurement we use InfluxDB as a UDP Server wit a Grafana dashboard
  • Socialcube has been reprogrammed to be much more scalable. Frontends now share uploaded data (encrypted) so we can now handle a much heavier load

What’s next?

Not only are we working on the features listed on “Upcoming features” (above) but due to public demand we’ll be also creating tutorials and a help page where you can read about features and learn how to use them.
Our initial goal was to make Socialcube simple enough that it didn’t need a help page but with every update we get new awesome features and we don’t want our users to be overwhelmed.

We need your help making Socialcube even better

If you found a bug or have a wish for a feature, you can report it here.

Thanks to everyone who helped making this release possible and giving us hints on how to improve the platform!

Enjoy this video animation of 600 days of coding with 259 commits