After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 674470 - Please add icc.gnome.org web service
Please add icc.gnome.org web service
Status: RESOLVED OBSOLETE
Product: sysadmin
Classification: Infrastructure
Component: Other
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GNOME Sysadmins
GNOME Sysadmins
Depends on:
Blocks:
 
 
Reported: 2012-04-20 14:23 UTC by Richard Hughes
Modified: 2013-11-21 14:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Richard Hughes 2012-04-20 14:23:29 UTC
GNOME Color Manager calibriation wizard allows users to calibrate their displays and creates a .icc profile that describes the primaries and gamma curves of their display. Quite a few users use a GNOME 3.4 LiveCD to calibrate an existing Windows or OSX machine (or even their old Debian or RHEL boxes) and then have no way of getting the generated profile off the CD easily.

Jimmac wants me to do something like http://jimmac.musichall.cz/stuff/gnome3/livecd-easymode.png which requires uploading the profile to a public web server. I've implemented this on hughski.com using a trivial script - https://gitorious.org/colorhug/website/blobs/master/profile-store.php but I can make this more robust/featureful as required.

The reason I would like to host this on gnome.org is because I'm not completely happy advertising / endorsing / depending on hughski.com, even though I'm the owner. It seems right to integrate this into the gnome infrastructure as it's being used by a core gnome application.

Each ICC profile is generally about 20kb in size, and I would expect less than about 1000 users per year. This works out to about 20Mb storage, tops.

To implement this as I would like, I'd like to grab the icc.gnome.org sub-domain, and have a upload folder that the php script can write to. I'm not expecting users to browse this location, and I'll add something like I've done for http://www.hughski.com/uploads/ if the user tries to browse. The only way users can access thier file is with a direct link, e.g. http://www.hughski.com/uploads/deadbeefdeadbeefdeadbeef.icc -- one nice feature would be to do a URL shortening thing in the future so the user just has to remember something like http://icc.gnome.org/profile-store.php?id=145322 although that does make it more guessable.

The upload is achieved using multipart forms over HTML, as it's designed to work behind a firewall and with a proxy server.

Yell if you want any more info. My gnome username is 'rhughes' and my irc handle is 'hughsie'.

Thanks,

Richard.
Comment 1 Olav Vitters 2012-04-21 11:37:35 UTC
First thoughts:
- PHP is the evil. E.g. "$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);", fortunately you don't use it, but this is insecure.
- I think we should put it on https

I wonder about the general feature though. If you use hash to generate the icc profile, how would people use it? They have to write down the URL?

For GNOME users:
Just providing the file seems easier

For Windows/Mac OS X users:
Seems easier just to email to file somewhere? I guess you worry about abuse?


What is the MIME type for those icc files btw?
Comment 2 Richard Hughes 2012-04-23 07:57:44 UTC
(In reply to comment #1)
> First thoughts:
> - PHP is the evil. E.g. "$uploadfile = $uploaddir .
> basename($_FILES['userfile']['name']);", fortunately you don't use it, but this
> is insecure.

Right, I agree php isn't a great choice. The script was basically a first "is it possible" attempt, but ideally I wanted to use something like python using Flask or Bottle, but I wanted to check what would be preferable from a GNOME.org point of view. Let me know what you'd prefer and I'm happy to write something production ready in your language-of-choice.

> - I think we should put it on https

Sure, it's super low traffic so this would be fine.

> I wonder about the general feature though. If you use hash to generate the icc
> profile, how would people use it? They have to write down the URL?

Yes, long term I want to use some kind of URL shortening service, so rather than remembering the long hash, the user can remember https://icc.gnome.org/a21 -- this is a nice to have tho.

> For GNOME users:
> Just providing the file seems easier

Yes, agreed, although the user will still have to copy the file from the LiveCD onto their system partition or a usb pendrive.

> For Windows/Mac OS X users:
> Seems easier just to email to file somewhere? I guess you worry about abuse?

Yes, allowing email is a can of worms for spam, and providing an non-authenticated smtp server for relay is obviously open to all kinds of abuse.

> What is the MIME type for those icc files btw?

application/vnd.iccprofile
Comment 3 Olav Vitters 2012-04-23 08:37:58 UTC
(In reply to comment #2)
> > For GNOME users:
> > Just providing the file seems easier
> 
> Yes, agreed, although the user will still have to copy the file from the LiveCD
> onto their system partition or a usb pendrive.

I'm talking about people with GNOME on their system. Live CD is Windows/Mac OS X people. If I have GNOME on my system, I don't want it uploading a file and then having to download it again. Needless network requirement IMO.

> > For Windows/Mac OS X users:
> > Seems easier just to email to file somewhere? I guess you worry about abuse?
> 
> Yes, allowing email is a can of worms for spam, and providing an
> non-authenticated smtp server for relay is obviously open to all kinds of
> abuse.

I mean: upload using HTTP post, send the formatted email on the server. Not a generic relay server. For security, some kind of capthca thing.
Comment 4 Richard Hughes 2012-04-23 09:36:18 UTC
(In reply to comment #3)
> I'm talking about people with GNOME on their system. Live CD is Windows/Mac OS
> X people. If I have GNOME on my system, I don't want it uploading a file and
> then having to download it again. Needless network requirement IMO.

Ohh no, plenty of people who use Linux use the LiveCD. The LiveCDs always have newer versions of the device client code, g-s-d, g-c-c and that kind of thing, and for people running old versions of RHEL / Debian it's the only way to calibrate.

> I mean: upload using HTTP post, send the formatted email on the server. Not a
> generic relay server. For security, some kind of capthca thing.

Jakub wanted an upload-by-default solution, but I can certainly ask if he wants to redo the designs to allow entry of an email address or that kind of thing.
Comment 5 Jeff Schroeder 2012-04-23 13:11:31 UTC
@hughsie: if it isn't too much of a bother, we already have quite a bit of django apps in production. Would you be ok with django of you are willing to rewrite it? extensions.g.o and library.g.o are both django for instance.
Comment 6 Richard Hughes 2012-04-23 13:20:34 UTC
(In reply to comment #5)
> Would you be ok with django

Sure, django is fine, I can easily learn that. What version do you guys have deployed?
Comment 7 Jeff Schroeder 2012-04-23 13:22:22 UTC
1.3.1 currently, but we should consider looking into 1.4.x now that it has been released.
Comment 8 Richard Hughes 2012-04-27 15:06:18 UTC
I'm assuming django-piston is available too?
Comment 9 Andrea Veri 2013-11-21 14:55:21 UTC
The GNOME Infrastructure Team is currently migrating its bug / issue tracker away from Bugzilla to Request Tracker and therefore all the currently open bugs have been closed and marked as OBSOLETE.

The following move will also act as a cleanup for very old and ancient tickets that were still living on Bugzilla. If your issue still hasn't been fixed as of today please report it again on the relevant RT queue.

More details about the available queues you can report the bug against can be found at https://wiki.gnome.org/Sysadmin/RequestTracker.

Thanks for your patience,

the GNOME Infrastructure Team