visualculture.prototype
clone your own copy | download snapshot

About

OSP Visual Culture Git Viewer

We are Open Source Publishing. A group of designers working in Brussels. We make books and posters and websites, and we do that using only Free and Open Source Software. That is because we feel it is important to have an intimate relation with our tools. If all designers use the same tools made by the same company, this is bound to make us less creative and less relevant.

For working together and sharing our source files, we use a system called Git. This system, originally developed for computer code, is great to work together. Yet when we started sharing our source code through the internet, we found all interfaces to git were geared to sharing text files. We want to create an interface for sharing our work

We have been displaying the contents of our repository in a more graphic way: showing previews in the filelistings of the fonts and the illustrations and the pdf’s. We want to take this a whole step further still, and build this into a platform where you can in a visual way view the development of your graphic design projects, the changes in between files, and comment and share and make visible your process.

Snapshots | iceberg

No images in this repository’s iceberg at this time

Inside this repository

Log

 

Eric Schrijverlet on

— First commit, run $ shotgun app.rb "path/to/git/repo"

Based on https://gist.github.com/934376 by Stefano Verna

Just changed that the repo is supplied as a command line argument.
No licence was supplied but probably the code will change as much
so that this original base will not be there anymore…

Thursday, 2nd February 2012 - 17:09

 

Eric Schrijversaid

— Added linguist as a dependency

How to subclass the Grit blob?
I think we need to include blob_helper ?

https://github.com/github/linguist/blob/master/lib/linguist/blob_helper.rb

Thursday, 2nd February 2012 - 17:59

 

Eric Schrijverwhispered

— Added helpful note

Thursday, 2nd February 2012 - 18:05

 

Eric Schrijverlet out

— Templates as *.erb, moved into separate files

Also removed the linguist dependency because it
seems hard to install at the moment.

Instead of ERB I would have used liquid, since the syntax is equivalent
to Jinja and Django templates… But liquid requires you to create
liquid specific methods for each object…

https://github.com/Shopify/liquid/wiki/Using-Liquid-without-Rails/93e82c527b2c0adaaf6ef8ce1c1817e3ddb8e40e

Thursday, 9th February 2012 - 23:14

 

Eric Schrijveruttered

— Added Twitter Bootstrap scaffolding

Thursday, 9th February 2012 - 23:24

 

Johnpublished

— linguist instructions: now, working

Friday, 10th February 2012 - 12:08

 

Johntattled

— we now have linguist features on our blobs

Friday, 10th February 2012 - 13:23

 

Johnsang

— hmmm, it looks confused about the mimetypes of our fonts...

Friday, 10th February 2012 - 13:27

 

Johntold

— small correction in dir.erb

Friday, 10th February 2012 - 13:31

 

Johnpeached

— new mimes :D

Friday, 10th February 2012 - 15:51

 

Eric Schrijververbalized

— View files as thumbnails

Shift from the list view paradigm to the thumbnail view paradigm

Friday, 10th February 2012 - 16:15

 

Johnpublished

— now how we do?

Friday, 10th February 2012 - 19:02

 

Johndisclosed

— tests tests tests

Friday, 10th February 2012 - 19:22

 

Johnshouted

— magick transforms now happening

Friday, 10th February 2012 - 20:10

 

Johnsaid

— added settings system through json and other goodie-ness

Friday, 10th February 2012 - 21:29

 

Johnbabbled

— app.rb not working yet..

Monday, 13th February 2012 - 17:56

 

Johnsaid

— worked on testing system, integrating settings, and more

Monday, 13th February 2012 - 22:01

 

Eric Schrijverblabbed out

— More detailed installation instructions for Ubuntu and in case of Ruby 1.8

Tuesday, 14th February 2012 - 14:54

 

Eric Schrijverwhistled

— The views in another folder

This makes it work,
we can look at the most logical organisation later

bz!

Tuesday, 14th February 2012 - 17:00

 

Johnironized

— revising tests, added internal 'VC.settings("image-sizes")

Wednesday, 15th February 2012 - 12:41

 

Johnexpressed

— yessir, that is correct! we have Mixin!

Wednesday, 15th February 2012 - 14:44

 

Johnconfessed

— svg transducer appears on the scene

Wednesday, 15th February 2012 - 23:04

 

Johntold

— now with the sweetness

Thursday, 16th February 2012 - 15:30

 

Johnlet loose

— now provalactic

Thursday, 16th February 2012 - 15:49

 

Eric Schrijversaid

— Now we transduce via the web interface

Thursday, 16th February 2012 - 16:05

 

Eric Schrijverspoke

— When generating thumbnails, also take into account folders

Thursday, 16th February 2012 - 16:15

 

Eric Schrijverexposed

— The root folder is now in the same view as the other folders

And the url has a trailing slash and thus makes more sense

Thursday, 16th February 2012 - 18:34

 

Eric Schrijverdivulged

— Start of navigation ( breadcrumbs not yet functional )

Intermediate path components should still be turned into links:
( see lib/views/layout.erb )

/view/:commit_id/iceberg/index.mkd has the following breadcrumbs:

osp.work.panik / <--- this link works
iceberg / <--- this should link to /commit/view/iceberg
index.mkd <--- this is ok, not a link

Friday, 17th February 2012 - 16:16

 

Eric Schrijversaid

— Working breadcrumb navigation

Friday, 17th February 2012 - 16:52

 

Eric Schrijverpeached

— All links now use same commit_id length

Friday, 17th February 2012 - 17:10

 

Eric Schrijverbabbled out

— Correct small <pre> white-space problem

Friday, 17th February 2012 - 17:11

 

Eric Schrijverargued

— The view can no display both text files and rendered files

It also can figure out files that are neither.

And sketchy icons.

Monday, 20th February 2012 - 15:53

 

Eric Schrijversaid

— HTML escape blob data

Also tidy up check for transducable / binary / text

Wednesday, 22nd February 2012 - 17:48

 

john c. haltiwangerrevealed

— atoning for serious sins of mixin

Thursday, 23rd February 2012 - 19:29

 

john c. haltiwangerdeclared

— on our way

Thursday, 23rd February 2012 - 21:04

 

john c. haltiwangerdeclared

— throw some code around

Saturday, 25th February 2012 - 06:57

 

john c. haltiwangercomitted

— tested ok

Saturday, 25th February 2012 - 07:12

 

john c. haltiwangertalked

— yyyyuuuuppp:)

Saturday, 25th February 2012 - 09:17

 

Eric Schrijvergave away

— Whitespace fix (tabs -> spaces)

Sunday, 26th February 2012 - 18:18

 

Eric Schrijverlet out

— Now handles multiple repositories

(apply as arguments from the command line)

Sunday, 26th February 2012 - 19:04

 

Eric Schrijverinterpreted

— Now with repo index view

Sunday, 26th February 2012 - 19:17

 

Johnstated

— bin/visualculture is working :D

Tuesday, 28th February 2012 - 23:29

 

Johnwhispered

— added Sinatra::Reloader code, app now requires sinatra-contrib gem. also updated the usage info in README

Wednesday, 29th February 2012 - 10:46

 

Johnuttered

— now as a bundley gem

Thursday, 1st March 2012 - 17:48

 

Johnspilled the beans

— back at it

Wednesday, 28th March 2012 - 15:40

 

Johnverbalised

— trying to patch config.ru

Wednesday, 28th March 2012 - 15:48

 

Johndeclared

— fingers crossed

Wednesday, 28th March 2012 - 15:49

 

codingisacopingstrategysaid

— This setup works under Phusion Passenger
( Hence the tmp/restart.txt )

Monday, 23rd April 2012 - 00:01

 

Eric Schrijverdivulged

— Remove app.rb to avoid confusion: now in lib/vc-server.rb

Monday, 23rd April 2012 - 00:32

 

Eric Schrijverwhispered

— Fixed the detailed blob view

Monday, 23rd April 2012 - 00:33

 

Eric Schrijveremited

— Start of simple api

Monday, 23rd April 2012 - 12:10

 

Eric Schrijverlet loose

— The css etcetera in a submodule

Thursday, 26th April 2012 - 16:50

 

Eric Schrijverrendered

— Added the OSP nav bar, and a Clone button with modal popup

Thursday, 26th April 2012 - 17:24

 

Eric Schrijverwhispered

— Can I get in synch?

Thursday, 26th April 2012 - 17:28

 

Eric Schrijvercomitted

— I dont think I understand whats going on with the submodules

Thursday, 26th April 2012 - 17:26

 

Eric Schrijverbabbled

— With the OSP fonts

Thursday, 26th April 2012 - 18:02

 

codingisacopingstrategysaid

— Reference the HEAD automagically!

/slug/view/latest/README.txt

Note all hyperlinks will consequently still refer back
to SHA’d urls, for now

Tuesday, 8th May 2012 - 23:43

 

codingisacopingstrategycomplained

— Move to OSP specific naming scheme

(and more links to HEAD everywhere–
except in the repo index)

Wednesday, 9th May 2012 - 00:33

 

Eric Schrijverwhistled

— Mixins for Iceberg handling!

Thursday, 17th May 2012 - 22:32

 

Eric Schrijversaid

— More utility functions for making webpages, also through the API

Friday, 18th May 2012 - 11:28

 

codingisacopingstrategysaid

— Implementing a category view

Saturday, 19th May 2012 - 19:22

 

codingisacopingstrategyblabbed out

— Like this we can serve everything straight from the repository!

Saturday, 19th May 2012 - 19:23

 

Eric Schrijverdiscovered

— Enter /commits.json and /repos.json , sorted by date_updated

date.xmlschema makes an ISO output that can be sorted

Monday, 21st May 2012 - 17:55

 

codingisacopingstrategyunwrapped

— Improved navigation and meaningful <title> field

Tuesday, 29th May 2012 - 02:38

 

Eric Schrijverironized

— The category overview sorted by last commit

Thursday, 31st May 2012 - 15:14

 

Eric Schrijverspilled the beans

— Remove commented out code for clarity

Thursday, 31st May 2012 - 15:41

 

Eric Schrijversang

— New transducers, a new function to create paths to the cache

And I figured out the cache actually wasn’t working at all!
That is because the compose_path function wasn’t being used
inside the transducers. So they got saved somewhere else.

It still isn’t working but we should be able to get it to work now.

btw I deleted the module method to transduce because it was super
confusing to have to maintain the same method twice

Thursday, 31st May 2012 - 17:13

 

Eric Schrijverdiscovered

— Now the cache works again

Thursday, 31st May 2012 - 17:25

 

Eric Schrijverrendered

— Transduce to pdf (quite heavy, but code is simple)

Thursday, 31st May 2012 - 20:01

 

Eric Schrijvergave away

— Submodule up to date, .gitignore up to scratch

Thursday, 21st June 2012 - 08:49

 

Eric Schrijversaid

— Git has stopped watching settings.json

The source now comes with settings.json.example

Thursday, 21st June 2012 - 11:21

 

Eric Schrijverspoke

— Make the api aware of urls, allow more dots in slugs

Friday, 22nd June 2012 - 12:33

 

Eric Schrijvershouted

— modules all the same require syntax

Friday, 22nd June 2012 - 12:46

 

Eric Schrijverargued

— Submodules drove me crazy so here is all the style!

Friday, 22nd June 2012 - 14:47

 

Eric Schrijversaid

— Visualculture.css is generated from visualculture.less
which imports bootstrap.less

Friday, 22nd June 2012 - 15:16

 

Eric Schrijvergave away

— Add some useful html classes to the API output

Friday, 22nd June 2012 - 19:34

 

OSP@ospworkspoke

— IT'S ALIVE!!!!!!
After much trial and tribulation, I would like to present you with Visual Culture running at http://ospwork.constantvzw.org.

Had to fight with Debian's confused ruby packaging. Ergo, using rvm in a system-wide configuration. The major change in terms of Visual Culture is adding a file, config/setup_load_path.rb , which reads a .rvmrc file in the root Visual Culture directory.

In order to generate this file, run 'rvm 1.9.3 --rvmrc --create' in the osp.tools.visualculture repository.

Many other steps were necessary, but they were server specific and did not directly impact the app code itself.

Friday, 22nd June 2012 - 18:48

 

Eric Schrijvercomitted

— Merge branch 'master' of git.constantvzw.org:/osp.tools.visualculture

Friday, 22nd June 2012 - 19:35

 

Eric Schrijverrevealed

— Check against empty repos on initialising

Friday, 22nd June 2012 - 19:54

 

Eric Schrijverclaimed

— Make navigation links works with different host urls

Friday, 22nd June 2012 - 19:57

 

Eric Schrijverlet loose

— Don’t crash when there’s no error: give html messages

Friday, 22nd June 2012 - 20:08

 

Eric Schrijversaid

— added the Visual Culture pitch as the README / description

Tuesday, 26th June 2012 - 14:09

 

Eric Schrijveradmitted

— # encoding: UTF-8

Thursday, 28th June 2012 - 15:20

 

OSP@ospworkconfessed

— On the roof we start the css contagion

Monday, 2nd July 2012 - 15:00

 

OSP@ospworkbabbled

— Johns Gemfile changes

Monday, 2nd July 2012 - 15:20

 

Pierre Marchandadmitted

— First attempt to turn the default visualculture
index template into a proper home page for
OSP wonderland.

Monday, 2nd July 2012 - 18:32

 

Eric Schrijverexposed

— Fix UndefinedEncodingError when writing to JSON in Ruby 1.9

So in Ruby 1.9 normally I can use the output of Grit methods:

j = { "foo" => g.commits()[0].author.name }
=> {"foo"=>"St\xC3\xA9phanie Vilayphiou"}

But it will give me problems when exporting to JSON

j = { "foo" => g.commits()[0].author.name }.to_json
Encoding::UndefinedConversionError: "\xC3" from ASCII-8BIT to UTF-8
from (irb):31:in `encode'
from (irb):31:in `to_json'
from (irb):31
from /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'

One needs to force encode to UTF-8:

j = { "foo" => g.commits()[0].author.name.force_encoding("UTF-8") }.to_json
=> "{\"foo\":\"St\u00E9phanie Vilayphiou\"}"

Ruby 1.8 hasn’t got this problem, but it also hasn’t got the force_encoding method,
so we do a begin / rescue here to handle that case.

Tuesday, 3rd July 2012 - 09:22

 

OSP@ospworkstated

— I messed up the templates sorry.

Tuesday, 3rd July 2012 - 10:47

 

Eric Schrijverclaimed

— Oops

Tuesday, 3rd July 2012 - 10:49

 

Eric Schrijverwhistled

— The repos view could come in handy elsewhere

Tuesday, 3rd July 2012 - 10:54

 

Eric Schrijvertold

— Exposed the 8 latest iceberg containing repos for the home page

Should be more easy to port the php script now

Tuesday, 3rd July 2012 - 11:12

 

Eric Schrijverargued

— Just the 8 latest icebergs. For real now. Je vais des conneries là.

Tuesday, 3rd July 2012 - 18:51

 

Pierre Marchandbabbled out

— Rewrite of PDF transducer.
RMagick was using way too much resources to turn PDFs into images. By using Poppler, it seems that we can get faster rendering, the price being that the ruby binding comes with GTK dependecies.

Friday, 6th July 2012 - 13:27

 

Pierre Marchanddisclosed

— Added image mode when creating cairo surface

Friday, 6th July 2012 - 16:19

 

Pierre Marchandtattled

— first bits of prototyping a rewrite of VC with libgit2 python binding

Sunday, 8th July 2012 - 13:35

 

Eric Schrijverrevealed

— small homepage performance tweak

Sunday, 8th July 2012 - 10:20

 

Eric Schrijverbrought out

— at /repos/ lives again a list of all the repos

Sunday, 8th July 2012 - 10:20

 

Eric Schrijververbalised

— Touch up README but shouldnt we be using Bundlr?

Sunday, 8th July 2012 - 12:49

 

Pierre Marchandexposed

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Sunday, 8th July 2012 - 13:36

 

Pierre Marchandcomplained

— Tested libmagic binding for mime-type detection

Monday, 9th July 2012 - 10:18

 

Pierre Marchandexposed

— Covered more aspects of git repo browsing + inserted resources from osp web site

Tuesday, 10th July 2012 - 03:58

 

Pierre Marchandcomplained

— On the road to Avignon, first seeds of a disputio
+ remainings of visual culture py

Saturday, 14th July 2012 - 18:48

 

Eric Schrijvercomplained

— Some progress in porting index.php

We should really look at layout.erb and make it match too
It looks like there won’t be much use for Twitter bootstrap in our views

Maybe me & Steph can get together for a css rush?

Thursday, 12th July 2012 - 16:32

 

Pierre Marchandwhistled

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Saturday, 14th July 2012 - 18:52

 

Pierre Marchandsaid

— Added docs listing and find entry point to disputio

Sunday, 15th July 2012 - 11:24

 

Pierre Marchandlet on

— Added *.pyc to gitignore

Tuesday, 21st August 2012 - 09:11

 

Pierre Marchandtalked

— First bits of the first part of a Django implementation of VC
Following the guidelines drawn during previous discussions and
developments, I started with wrapping libgit2 into an app serving
JSON structures reflecting on a collection of GIT repositories.
It still lacks a bit of URI design to pretend to be a REST-ful API
but it gets close.
/repos/ : list of repository names
/repos/<repo_name>/ : head commit
/repos/<repo_name>/<hex>/ : commit[1] or tree entry[2] or blob[3]
/repos/<repo_name>/<hex>/blob-data : blob data (note that this one is not encapsulated into JSON structure)

[1] {'type':'commit', 'repo_name':name, 'commit': commit.hex, 'author':commit.author.name, 'message':commit.message, 'files':files, 'parent':parent.hex}
[2] {'type':'tree', 'repo_name':name, 'dirs':dirs, 'files':items}
[3] {'type':'blob', 'repo_name':name, 'commit' : commit.hex, 'mime':mime}

Tuesday, 21st August 2012 - 09:12

 

Eric Schrijverstated

— Comments explaining the methods we add to the Repository class

Also, implement a fallback for a Title if there is no README

Friday, 17th August 2012 - 21:41

 

Eric Schrijverargued

— Ported the OSP Repository widget from PHP to Ruby

And we’re going to port it to Python still
way to stay busy :o

(this was in osp.work.osp-website/layouts/osp-iceberg.php)

Friday, 17th August 2012 - 22:30

 

Eric Schrijverbabbled out

— Synch styles with the OSP PHP Homepage Rush

Oh my these were wonderful days in the studio

I also took the occassion to remove as much stuff we don’t
use anymore. No CSS, just LESS. Lots of Bootstrap cruft
removed as well.

Only some doubling up on the fonts side but that shall be
fixed when we up our font hostingg

Friday, 17th August 2012 - 23:53

 

Eric Schrijverdiscovered

— Implement proper fluid layout

// The menu sticks to the right of this wrapper.
// The wrapper is at 100% of the page unless the page
// Becomes less than 995px wide
// ( the padding is subtracted from the width because
// of the different box-sizing model )
// This way the menu doesn’t interfere with the main page
// content in #active-projects

Saturday, 18th August 2012 - 01:48

 

Pierre Marchandbabbled out

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Tuesday, 21st August 2012 - 09:31

 

Pierre Marchandcomplained

— Adjusted few import statements

Tuesday, 21st August 2012 - 19:06

 

Pierre Marchandbabbled out

— Now the first bits of VC implementation as a Django app
I started with the easiest thing, images, and it does not support
options yet nor any fancy stuff, but it's a nice starting point.
Note that there's nothing yet about integrating OSP website, which
will come as another app.

Tuesday, 21st August 2012 - 19:07

 

Eric Schrijversaid

— Keeping track of the install process

At least I managed to stop getting import errors,
do for the moment I don’t see any page yet :)

/ ->
404

/repos/ ->
ViewDoesNotExist at /repos/
Could not import git_info.views.index. View does not exist in module git_info.views.

Oh and I updated .gitignore with venv
A name I like to use for my venv’s

But yeeeaah for VC! Curious where this goes!

Tuesday, 21st August 2012 - 21:02

 

Eric Schrijvertold

— Make it also work for names like osp.work.balsamine.2011-2012

(btw, I added some comments to other day to lib/vc-repo.rb
to explain what kind of methods we implemented for the
osp website)

Tuesday, 21st August 2012 - 21:27

 

Pierre Marchandlet the cat out of the bag

— Added a basic test application

Thursday, 23rd August 2012 - 12:41

 

Pierre Marchandsaid

— Reorganised imports and added plai/text reader

Thursday, 23rd August 2012 - 12:43

 

Eric Schrijverpublished

— Compatibility with recent versions of python-magic

If the old way doesn’t work, it falls back to the new way

Thursday, 23rd August 2012 - 22:38

 

Eric Schrijverspilled the beans

— JQuery from CDN

It was hardcoded to

http://media.visualculture/jquery.js

At some point maybe we start using
{% static "jquery.js" %}
when we have more static files

Friday, 24th August 2012 - 01:04

 

Pierre Marchandverbalized

— Caching/Queuing
After having written a task queue to get an idea of how it works,
went for Django-Celery, which seems to be regarded as the standard
component for the job.
Note that Celery needs a broker, tested here with RabbitMQ, that
you have to setup and run separatedly + running some Celery workers
to get the tasks processed :) Yep, forgot it at some point
See Celery documentation

Saturday, 25th August 2012 - 17:49

 

Pierre Marchandargued

— Added a PDF reader based on libpoppler
Made a custom python binding based on poppler-cpp with boost::python
first rendering feels a bit slow, viva caching!

Tuesday, 28th August 2012 - 12:51

 

Pierre Marchandwhistled

— wouldn't handle repositories with ony one commit

Friday, 31st August 2012 - 18:42

 

Pierre Marchandexpressed

— First bits of a possible use of Fontforge for font handling

Friday, 31st August 2012 - 18:44

 

Pierre Marchandwhispered

— condom commit

Wednesday, 5th September 2012 - 12:03

 

Eric Schrijverexpressed

— Getting a consistent set of OSP styles / layout (but where to put our colourful commit boxes?)

After I guess we put Masonry on the files and icebergs so to
fill the space

Wednesday, 29th August 2012 - 02:34

 

Eric Schrijversang

— Merging in Pierre

Wednesday, 29th August 2012 - 02:36

 

Eric Schrijverclaimed

— Frog fixes & other myriad home page nits
following up on commit 00d92d3133e80

* Fix the frog:
instead of the svg, you actually get a png if you use an old IE :)

* The spacing bug I thought I’d fixed before

* Reduced the number of shown commits, images
to be on par with our PHP mockup

also less.js is now in debug mode

Thursday, 30th August 2012 - 23:04

 

Eric Schrijveremited

— Add commit_time to commit json

Wednesday, 5th September 2012 - 01:06

 

Eric Schrijverrevealed

— Find a file or folder by path

Works as such: /repo_name/path/ + path/to/file/or/folder

The other views work by specifying an object id, which a user
or external app might not always be aware of.

Git doesn’t have a specific way to search for a tree or blob by path,
you just recurse down the tree:
/libs/transducers -> repo.head.tree['libs'].to_object()['transducers'].to_object()

Wednesday, 5th September 2012 - 01:08

 

Eric Schrijvercomitted

— I added masonry but it doesn’t work yet

“Whereas floating arranges elements horizontally then vertically,
Masonry arranges elements vertically, positioning each element
in the next open spot in the grid.”

http://masonry.desandro.com/index.html

Wednesday, 5th September 2012 - 10:50

 

Eric Schrijverblabbed out

— Url routing fixed for repo names with dashes

Wednesday, 5th September 2012 - 11:51

 

Pierre Marchanduttered

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Conflicts:
vc_django/git_info/views.py

Wednesday, 5th September 2012 - 12:07

 

Pierre Marchandspoke

— better handling of failures

Wednesday, 5th September 2012 - 13:10

 

Pierre Marchandverbalized

— first bits of reader options

Saturday, 8th September 2012 - 14:47

 

Eric Schrijverdiscovered

— Adjust CMake recipe

( It was linking statically,
we need to link dynamically )

Wednesday, 5th September 2012 - 16:26

 

Eric Schrijversaid

— Move a sys import to it’s new home

Wednesday, 5th September 2012 - 18:31

 

Eric Schrijversaid

— We install, we write README.txt

Wednesday, 5th September 2012 - 23:29

 

Eric Schrijvertweeted

— Serve static and media files in development

public/ -> /static/
visual/ -> /visual/

If anyone has a funner name for static I’d like to know

settings_example.py updated to automatically use these folders

Wednesday, 5th September 2012 - 23:29

 

Eric Schrijverpeached

— The part of the app that returns JSON is now namespaced as '/api/'

Friday, 7th September 2012 - 23:50

 

Eric Schrijveradmitted

— Repositories now returned in order of last updated.

Using an ordered dictionary for the GitCollection,
a backported implementation of the Python 2.7 data structure.

Also an extra check on initialisation of the git modules:
it tries to reach the head commit. If this fails, the repo is not added.
This catches both empty and corrupted repos.

Sorting is probably heavy, but it happens on __init__ of the class,
not when requesting the list through .get_names()

Saturday, 8th September 2012 - 01:21

 

Pierre Marchandironized

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Saturday, 8th September 2012 - 14:47

 

Eric Schrijverwhistled

— More structure views

Renamed commits to objects when they are other kinds of objects

Add latest commits and tree to repository information

We need to wrap the pygit2 classes with to_hash objects

Saturday, 8th September 2012 - 15:22

 

Eric Schrijvergave away

— Add view to render all repos

Which, of course, is super heavy, so it needs to be adequately
cached. But this greatly facilitates the development of the OSP
site

Monday, 10th September 2012 - 20:33

 

Eric Schrijversaid

— So the test app ceased to work along the way

Now it's still not completely working (clicking on a file
fails). Though Pierre M, you might also need to update your settings
to take into account the static folder'path/to/spion/' + 'public'

<3 from upstairs

Tuesday, 11th September 2012 - 00:39

 

Eric Schrijverpublished

— add osp: It is not there, but one can see where
we are going

Tuesday, 11th September 2012 - 00:42

 

Eric Schrijverinterpreted

— Move initialisation of GitCollection from git module to views, implement prefix

( The PREFIX is read from settings )

Wednesday, 12th September 2012 - 00:06

 

Eric Schrijverexposed

— I had forgotten to set a max to the number of rendered commits

So it recursed down the whole tree.. no wonder it was super slow

Wednesday, 12th September 2012 - 00:14

 

Pierre Marchandadmitted

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Tuesday, 18th September 2012 - 12:38

 

Eric Schrijverdivulged

— Indent the JSON. Highly readable API yes

Wednesday, 12th September 2012 - 00:29

 

Eric Schrijverpublished

— Clean api. Breaks test

Wednesday, 12th September 2012 - 00:34

 

Eric Schrijverexpressed

— 'Rubygems' by default for ruby command line utility

Wednesday, 12th September 2012 - 15:50

 

Eric Schrijvergave away

— Let’s throw a 404

Kick in the door wave the 404
When we don’t find the object
by hex
It’s not really there
A plausible scenario

Thursday, 20th September 2012 - 01:13

 

Eric Schrijverlet out

— Blobs and trees queried via the path API now know about their own paths,
and the path to their raw data.

Thursday, 20th September 2012 - 02:10

 

Eric Schrijverpeached

— Add profiling: append query string with ?prof to see it!

via http://gun.io/blog/fast-as-fuck-django-part-1-using-a-profiler/

Thursday, 20th September 2012 - 14:28

 

Eric Schrijvercomitted

— Rendering the tree for every repo was costing us too much time
( on the view /all/ )
it is now optional

Also rewrote the logic for finding the name of a path
(it didnt work for root paths)
We now keep the final empty path for dirs so we can rejoin.

Thursday, 20th September 2012 - 14:30

 

Eric Schrijverclaimed

— Strip off '.git' from the name of bare repositories

Monday, 24th September 2012 - 18:00

 

Pierre Marchandshouted

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Monday, 24th September 2012 - 19:59

 

Pierre Marchandconfessed

— Implemented the bare minimum to make GitCollection mimic a container type

Monday, 24th September 2012 - 20:32

 

Eric Schrijverwhispered

— Basic browsing through the repos works
(no visuals yet)

Monday, 24th September 2012 - 19:29

 

Eric Schrijverdivulged

— No double slashes when generating hyperlinks

Monday, 24th September 2012 - 23:30

 

Eric Schrijverbrought out

— Some finishing touches to the Ruby prototype
Now works with masonry

Saturday, 29th September 2012 - 14:43

 

Eric Schrijverexposed

— The gEvent server and why we need it:

If we want to test both the osp-site and the git-api locally at the same
time, the normal Django development server doesn’t cut it: since it is
single-threaded, the server can’t send an api request to itself.

Pierre provides us with a forking server. The only thing that needs to be ironed
out, is that it doesn’t serve the static files from 'public' under '/static/*'
nor does it serve the media files from 'visual' under '/visual/*'

Saturday, 29th September 2012 - 14:49

 

Eric Schrijverrendered

— OSP site now also self-sufficient django app
With its own settings file and manage.py

cd vc_django/osp
python manage.py runserver

Now the only thing you need to have installed to do local OSP Site
development is Django.

Saturday, 29th September 2012 - 15:08

 

Eric Schrijverlet loose

— Forgot this one!

Saturday, 29th September 2012 - 17:51

 

Eric Schrijvertold

— osp site :: after commit+push: 'make' pulls changes on server, restarts server

Saturday, 29th September 2012 - 17:55

 

Pierre Marchandblabbed out

— Merge branch 'master' of git.constantvzw.org:osp.tools.visualculture

Sunday, 30th September 2012 - 11:28

 

Pierre Marchandconfessed

— Implemented options infrastructure for visual generation.
Only implemented the size arguments for image generation. Pass width and/or height arguments(GET or POST) to the request.
Didn't exactly remember the URL scheme, but it will be trivial to adjust if i got it wrong.

Sunday, 30th September 2012 - 14:53

 

Pierre Marchandtalked

— Implemented options support for the PDF reader
I changed the caching system. It used to pass the blob data through the message queue, excellent when the blob data was not large, but failed completely as soon as I tried to pass large files.
The way it works now is that we just pass a blob_info dictionary to the reader and it gets the data from the repository with an helper installed by the @reader decorator [e.g.: self.get_blob_data(blob_info)]

Thursday, 4th October 2012 - 19:44

 

Pierre Marchandadmitted

— quiet gcc on ospwork

Thursday, 4th October 2012 - 20:00

 

Pierre Marchandbabbled out

— forgot self

Friday, 5th October 2012 - 01:04

 

Pierre Marchandcomitted

— First smell of ice

Friday, 5th October 2012 - 01:52

 

Pierre Marchanddeclared

— weird final

Friday, 5th October 2012 - 02:08

 

Pierre Marchandbabbled

— Make it right, huh

Friday, 5th October 2012 - 02:13

 

Pierre Marchandsaid

— Make it right, huh huh

Friday, 5th October 2012 - 02:18

 

Pierre Marchandwhistled

— Almost there with osp home page, still some glitches in the visual culture but still we can see icebergs

Friday, 5th October 2012 - 03:10

 

Pierre Marchandtweeted

— Got the frog back :)

Friday, 5th October 2012 - 03:32

 

Eric Schrijveruttered

— Add example setting to VC path

Friday, 5th October 2012 - 13:00

 

Eric Schrijverinterpreted

— Remove bobo/disputio

Disputio has its own home,
and the bobo folder represents experiments in python/libgit2
that have ended up in the django version

Friday, 5th October 2012 - 21:40

 

Eric Schrijvertalked

— Remove the django version from the Ruby branch

Friday, 5th October 2012 - 21:54