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 Schrijversaid

— 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 Schrijverlet the cat out of the bag

— 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 Schrijvertattled

— Added helpful note

Thursday, 2nd February 2012 - 18:05

 

Eric Schrijversaid

— 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 Schrijverwhispered

— Added Twitter Bootstrap scaffolding

Thursday, 9th February 2012 - 23:24

 

Johnlet out

— linguist instructions: now, working

Friday, 10th February 2012 - 12:08

 

Johnunwraped

— we now have linguist features on our blobs

Friday, 10th February 2012 - 13:23

 

Johnbabbled out

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

Friday, 10th February 2012 - 13:27

 

Johnsaid

— small correction in dir.erb

Friday, 10th February 2012 - 13:31

 

Johnwhistled

— new mimes :D

Friday, 10th February 2012 - 15:51

 

Eric Schrijverexposed

— View files as thumbnails

Shift from the list view paradigm to the thumbnail view paradigm

Friday, 10th February 2012 - 16:15

 

Johnsaid

— now how we do?

Friday, 10th February 2012 - 19:02

 

Johntalked

— tests tests tests

Friday, 10th February 2012 - 19:22

 

Johnsaid

— magick transforms now happening

Friday, 10th February 2012 - 20:10

 

Johnlet out

— added settings system through json and other goodie-ness

Friday, 10th February 2012 - 21:29

 

Johnverbalized

— app.rb not working yet..

Monday, 13th February 2012 - 17:56

 

Johnexpressed

— worked on testing system, integrating settings, and more

Monday, 13th February 2012 - 22:01

 

Eric Schrijverblabed

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

Tuesday, 14th February 2012 - 14:54

 

Eric Schrijverlet out

— 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

 

Johnbabbled

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

Wednesday, 15th February 2012 - 12:41

 

Johnbabbled out

— yessir, that is correct! we have Mixin!

Wednesday, 15th February 2012 - 14:44

 

Johnblabed

— svg transducer appears on the scene

Wednesday, 15th February 2012 - 23:04

 

Johnemited

— now with the sweetness

Thursday, 16th February 2012 - 15:30

 

Johnrevealed

— now provalactic

Thursday, 16th February 2012 - 15:49

 

Eric Schrijveremited

— Now we transduce via the web interface

Thursday, 16th February 2012 - 16:05

 

Eric Schrijverbabbled out

— When generating thumbnails, also take into account folders

Thursday, 16th February 2012 - 16:15

 

Eric Schrijvertalked

— 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 Schrijverexposed

— 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 Schrijvertalked

— Working breadcrumb navigation

Friday, 17th February 2012 - 16:52

 

Eric Schrijverspilled the beans

— All links now use same commit_id length

Friday, 17th February 2012 - 17:10

 

Eric Schrijverexpressed

— 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. haltiwangertold

— atoning for serious sins of mixin

Thursday, 23rd February 2012 - 19:29

 

john c. haltiwangerspilled the beans

— on our way

Thursday, 23rd February 2012 - 21:04

 

john c. haltiwangerbabbled

— throw some code around

Saturday, 25th February 2012 - 06:57

 

john c. haltiwangerlet loose

— tested ok

Saturday, 25th February 2012 - 07:12

 

john c. haltiwangerbring out

— yyyyuuuuppp:)

Saturday, 25th February 2012 - 09:17

 

Eric Schrijverspilled the beans

— Whitespace fix (tabs -> spaces)

Sunday, 26th February 2012 - 18:18

 

Eric Schrijversaid

— Now handles multiple repositories

(apply as arguments from the command line)

Sunday, 26th February 2012 - 19:04

 

Eric Schrijversaid

— Now with repo index view

Sunday, 26th February 2012 - 19:17

 

Johnemited

— bin/visualculture is working :D

Tuesday, 28th February 2012 - 23:29

 

Johnconfessed

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

Wednesday, 29th February 2012 - 10:46

 

Johntold

— now as a bundley gem

Thursday, 1st March 2012 - 17:48

 

Johnwhistled

— back at it

Wednesday, 28th March 2012 - 15:40

 

Johnshouted

— trying to patch config.ru

Wednesday, 28th March 2012 - 15:48

 

Johnrendered

— fingers crossed

Wednesday, 28th March 2012 - 15:49

 

codingisacopingstrategyironized

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

Monday, 23rd April 2012 - 00:01

 

Eric Schrijverblabed out

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

Monday, 23rd April 2012 - 00:32

 

Eric Schrijverconfessed

— Fixed the detailed blob view

Monday, 23rd April 2012 - 00:33

 

Eric Schrijverwhistled

— Start of simple api

Monday, 23rd April 2012 - 12:10

 

Eric Schrijveremited

— The css etcetera in a submodule

Thursday, 26th April 2012 - 16:50

 

Eric Schrijverironized

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

Thursday, 26th April 2012 - 17:24

 

Eric Schrijververbalised

— Can I get in synch?

Thursday, 26th April 2012 - 17:28

 

Eric Schrijverlet loose

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

Thursday, 26th April 2012 - 17:26

 

Eric Schrijveruttered

— With the OSP fonts

Thursday, 26th April 2012 - 18:02

 

codingisacopingstrategyshouted

— 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

 

codingisacopingstrategysaid

— Move to OSP specific naming scheme

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

Wednesday, 9th May 2012 - 00:33

 

Eric Schrijverrevealed

— 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

 

codingisacopingstrategyblabed

— Implementing a category view

Saturday, 19th May 2012 - 19:22

 

codingisacopingstrategyspilled the beans

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

Saturday, 19th May 2012 - 19:23

 

Eric Schrijvercried

— 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

 

codingisacopingstrategyblabed out

— Improved navigation and meaningful <title> field

Tuesday, 29th May 2012 - 02:38

 

Eric Schrijveremited

— The category overview sorted by last commit

Thursday, 31st May 2012 - 15:14

 

Eric Schrijverlet on

— Remove commented out code for clarity

Thursday, 31st May 2012 - 15:41

 

Eric Schrijverstated

— 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 Schrijversaid

— Now the cache works again

Thursday, 31st May 2012 - 17:25

 

Eric Schrijverstated

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

Thursday, 31st May 2012 - 20:01

 

Eric Schrijverstated

— Submodule up to date, .gitignore up to scratch

Thursday, 21st June 2012 - 08:49

 

Eric Schrijverwhistled

— Git has stopped watching settings.json

The source now comes with settings.json.example

Thursday, 21st June 2012 - 11:21

 

Eric Schrijverironized

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

Friday, 22nd June 2012 - 12:33

 

Eric Schrijverblabed out

— modules all the same require syntax

Friday, 22nd June 2012 - 12:46

 

Eric Schrijverwhispered

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

Friday, 22nd June 2012 - 14:47

 

Eric Schrijverpeached

— 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@ospworkdivulged

— 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 Schrijverexposed

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

Friday, 22nd June 2012 - 19:35

 

Eric Schrijververbalised

— Check against empty repos on initialising

Friday, 22nd June 2012 - 19:54

 

Eric Schrijverpublished

— Make navigation links works with different host urls

Friday, 22nd June 2012 - 19:57

 

Eric Schrijverrevealed

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

Friday, 22nd June 2012 - 20:08

 

Eric Schrijververbalized

— added the Visual Culture pitch as the README / description

Tuesday, 26th June 2012 - 14:09

 

Eric Schrijverexposed

— # encoding: UTF-8

Thursday, 28th June 2012 - 15:20

 

OSP@ospworkcried

— On the roof we start the css contagion

Monday, 2nd July 2012 - 15:00

 

OSP@ospworkexposed

— Johns Gemfile changes

Monday, 2nd July 2012 - 15:20

 

Pierre Marchandtweeted

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

Monday, 2nd July 2012 - 18:32

 

Eric Schrijverrevealed

— 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@ospworklet out

— I messed up the templates sorry.

Tuesday, 3rd July 2012 - 10:47

 

Eric Schrijvercried

— Oops

Tuesday, 3rd July 2012 - 10:49

 

Eric Schrijveruttered

— The repos view could come in handy elsewhere

Tuesday, 3rd July 2012 - 10:54

 

Eric Schrijverblabed out

— 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 Schrijverpublished

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

Tuesday, 3rd July 2012 - 18:51

 

Pierre Marchandargued

— 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 Marchandlet loose

— Added image mode when creating cairo surface

Friday, 6th July 2012 - 16:19

 

Pierre Marchandbring out

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

Sunday, 8th July 2012 - 13:35

 

Eric Schrijverlet out

— small homepage performance tweak

Sunday, 8th July 2012 - 10:20

 

Eric Schrijveruttered

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

Sunday, 8th July 2012 - 10:20

 

Eric Schrijvertalked

— Touch up README but shouldnt we be using Bundlr?

Sunday, 8th July 2012 - 12:49

 

Pierre Marchandbring out

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

Sunday, 8th July 2012 - 13:36

 

Pierre Marchandlet loose

— Tested libmagic binding for mime-type detection

Monday, 9th July 2012 - 10:18

 

Pierre Marchandgave away

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

Tuesday, 10th July 2012 - 03:58

 

Pierre Marchandblabed out

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

Saturday, 14th July 2012 - 18:48

 

Eric Schrijverlet out

— 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 Marchandargued

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

Saturday, 14th July 2012 - 18:52

 

Pierre Marchandgave away

— Added docs listing and find entry point to disputio

Sunday, 15th July 2012 - 11:24

 

Pierre Marchandinterpreted

— Added *.pyc to gitignore

Tuesday, 21st August 2012 - 09:11

 

Pierre Marchandunwraped

— 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 Schrijververbalised

— 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 Schrijverclaimed

— 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 Schrijversaid

— 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 Schrijverwhispered

— 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 Marchandconfessed

— Adjusted few import statements

Tuesday, 21st August 2012 - 19:06

 

Pierre Marchandwhispered

— 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 Schrijverbabbled out

— 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 Schrijvercried

— 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 Marchandverbalized

— Added a basic test application

Thursday, 23rd August 2012 - 12:41

 

Pierre Marchandtold

— Reorganised imports and added plai/text reader

Thursday, 23rd August 2012 - 12:43

 

Eric Schrijvercried

— 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 Schrijversaid

— 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 Marchandgave away

— 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 Marchanddisclosed

— 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 Marchandrevealed

— wouldn't handle repositories with ony one commit

Friday, 31st August 2012 - 18:42

 

Pierre Marchandargued

— 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 Schrijverbabbled out

— 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 Schrijvertold

— Merging in Pierre

Wednesday, 29th August 2012 - 02:36

 

Eric Schrijverconfessed

— 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 Schrijveruttered

— Add commit_time to commit json

Wednesday, 5th September 2012 - 01:06

 

Eric Schrijverspoke

— 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 Schrijvertalked

— 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 Schrijverpeached

— 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 Marchandtattled

— better handling of failures

Wednesday, 5th September 2012 - 13:10

 

Pierre Marchandtattled

— first bits of reader options

Saturday, 8th September 2012 - 14:47

 

Eric Schrijveremited

— Adjust CMake recipe

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

Wednesday, 5th September 2012 - 16:26

 

Eric Schrijverblabed out

— 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 Schrijversong

— 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 Schrijvergave away

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

Friday, 7th September 2012 - 23:50

 

Eric Schrijverinterpreted

— 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 Marchandargued

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

Saturday, 8th September 2012 - 14:47

 

Eric Schrijververbalised

— 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 Schrijvertalked

— 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 Schrijverblabed

— 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 Schrijvertattled

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

Tuesday, 11th September 2012 - 00:42

 

Eric Schrijverbring out

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

( The PREFIX is read from settings )

Wednesday, 12th September 2012 - 00:06

 

Eric Schrijvertattled

— 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 Marchandcried

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

Tuesday, 18th September 2012 - 12:38

 

Eric Schrijverblabed out

— Indent the JSON. Highly readable API yes

Wednesday, 12th September 2012 - 00:29

 

Eric Schrijvercomplained

— Clean api. Breaks test

Wednesday, 12th September 2012 - 00:34

 

Eric Schrijverexposed

— 'Rubygems' by default for ruby command line utility

Wednesday, 12th September 2012 - 15:50

 

Eric Schrijverdivulged

— 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 Schrijverblabed 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 Schrijverdivulged

— 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 Schrijverbabbled

— 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 Schrijverrendered

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

Monday, 24th September 2012 - 18:00

 

Pierre Marchandtalked

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

Monday, 24th September 2012 - 19:59

 

Pierre Marchandlet on

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

Monday, 24th September 2012 - 20:32

 

Eric Schrijverrevealed

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

Monday, 24th September 2012 - 19:29

 

Eric Schrijverlet the cat out of the bag

— No double slashes when generating hyperlinks

Monday, 24th September 2012 - 23:30

 

Eric Schrijverlet on

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

Saturday, 29th September 2012 - 14:43

 

Eric Schrijverbabbled out

— 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 Schrijveremited

— 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 Schrijverbring out

— Forgot this one!

Saturday, 29th September 2012 - 17:51

 

Eric Schrijversaid

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

Saturday, 29th September 2012 - 17:55

 

Pierre Marchandargued

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

Sunday, 30th September 2012 - 11:28

 

Pierre Marchandexpressed

— 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 Marchandwhispered

— 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 Marchandblabed out

— quiet gcc on ospwork

Thursday, 4th October 2012 - 20:00

 

Pierre Marchandbabbled out

— forgot self

Friday, 5th October 2012 - 01:04

 

Pierre Marchandblabed out

— First smell of ice

Friday, 5th October 2012 - 01:52

 

Pierre Marchandpublished

— weird final

Friday, 5th October 2012 - 02:08

 

Pierre Marchandverbalised

— Make it right, huh

Friday, 5th October 2012 - 02:13

 

Pierre Marchandrendered

— Make it right, huh huh

Friday, 5th October 2012 - 02:18

 

Pierre Marchandverbalised

— 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 Marchandclaimed

— Got the frog back :)

Friday, 5th October 2012 - 03:32

 

Eric Schrijverspilled the beans

— Add example setting to VC path

Friday, 5th October 2012 - 13:00

 

Eric Schrijverdiscovered

— 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 Schrijveruttered

— Remove the django version from the Ruby branch

Friday, 5th October 2012 - 21:54