#2580 Host Design Team Image Annotation App

Created 5 years ago by duffy

= Project Sponsor =

Project Team (FAS Names):[[mizmo, schendje, emichan]] Infrastructure Sponsor: Still looking :(

= Project Info =

Project Name: Fedora Image Annotation App

Target Audience: Designers and developers looking to collaborate and easily provide or receive feedback on UI screenshots, mockups, and artwork.

Expiration/Delivery Date (required): Mar 31, 2011

Description/Summary: We have a small PHP app that Emichan wrote that allows you to add flickr-style annotations on top of any image on the web. For example, look at this freemedia mailer mockup with feedback comments:

http://jefvanschendel.nl/ImageAnnotation/index.php?i=Freemedia_Mailer_Type_A_Up

Right now the app is hosted on Jef's personal system: http://jefvanschendel.nl/ImageAnnotation/index.php

But we believe it would be a usefulresource project-wide, not just for the Fedora design team. Currently we know of no FLOSS alternatives that exist that could enable the same functionality.

Project plan (Detailed):

Goals: - To make it easier to provide feedback on design and development work done for Fedora - To make it easier to get feedback on design and development work for Fedora

Emichan and Schendje wrote the app and the git repo is available here:

http://gitorious.org/remote-image-annotation/remote-image-annotation

Two notes:

  1. mentioned some security issues, deveopers are looking into them
  2. This requires PHP >= 5.2.0, which looks available in RHEL6 but not RHEL5.

Correction:

21:32:50 < nirik> ricky: FYI, rhel5.6 has php53 ;)

Would be great at some point if you could annotate a web page too?

Hey emichan and schendje, what do you need in the immediate future? I see that ricky had some security concerns that need coding work to address and that we'll also need to figure out our RHEL6 deployment story (we think that the RHEL-5.6 php53 package won't be able to run in the same httpd server as the normal php so it won't run on the same app servers as the wiki, for instance.)

If you need a publictest server to temporarily so that you can test things in other places than http://jefvanschendel.nl/ we can do that. If you need help with hosting a release (I'm not sure if gitorious has facilities for hosting tarballs/releases) then we can get you fedorahosted space. if you need help cutting releases and making Fedora/EPEL pacakges so that we can deploy in infrastructure, I can help with that. I'm abadger1999 on irc.freenode.net if you need other help.

PS: It's been a while since I've touched php but I can puzzle through some code if you have specific things that you need a second pair of eyes to troubleshoot.

Hi toshio, all of the above please. :) A test server would be amazing.

I worked on some of the security issues during our hackfest in tempe and will be commiting them soon I swear. But more eyes are always better. It currently has a file backend, but I'm planning on writing a db backend before we deploy for reals.

I can work around the php52+ requirement if needed. It's required only for some convenient filtering functions, but I can write my own, I'm just lazy. ;)

I personally know nothing about releasing or packaging, so any help on that end is more than welcome.

Thanks so much! emichan

We'll be changing how we do publictest servers in the near future to something that requires monthly response about whether you're still using it or not. For now, though, you can use publictest01. It's a RHEL5 virtual host. I'll need to know what people to sponsor into sysadmin-test to give access to it. Once you're sponsored, you should be able to ssh to it with the keys that you have in FAS. You'll want to fill out this page to list what you're doing with the server: https://fedoraproject.org/wiki/Infrastructure/Server/publictest01

(And that way, when we move to the new system that removes publictest machines that aren't being used, we'll know who to contact.)

You'll have sudo on the box. There are no backups performed on it. So be sure to keep backups of what you're working on locally/on gitorious/etc.

Contact me here or on IRC to let me know which accounts to sponsor.

I'm happy to set up the publictest server for this if I'm given access. I went through the process of configuring the app on an old RHEL 5 box today. There's two elements missing from the PHP 5.1 that came with the version of RHEL 5 I had, the json methods and the filter methods.

I got the json functions from here: http://www.boutell.com/scripts/jsonwrapper.html

I used these instructions to build the filter module: http://www.cyberciti.biz/faq/rhel-cento-linux-install-php-pecl-filter/

It also requires installing php-devel and pcre-devel (which are packaged for rhel 5) for the module to build.

With a mediawiki running on a box with the php filter module and the widgets extension the annotated mockups can also be embedded in a wiki :)

Toshio, that's awesome! I'd say duffy, schendje, and emichan should have access. Thanks so much!

I've sponsored people into sysadmin and sysadmin-test now that need it. schendje, emichan, you'll start getting a bunch of email from nagios (and maybe some from cron as well) when Fedora Services have problems. For now you can safely filter these out. If this app gets to production, someone will have to maintain it so you'll probably have to fine tune your filters to not delete nagios messages that may be relevant to your app.

Within an hour of this post, you should all be able to log into publictst01 using the ssh key you have in fas.

Things to remember:

1) publictest machines are test instances -- backup your code and configuration files somewhere else.

2) publictest machines are inherently not as secure as the production infrastructure boxes. Just like when you walk through a bad neighborhood at night in the city, be aware of your surroundings and pay attention if something doesn't seem right -- don't be afraid to get on IRC and ping someone in #fedora-admin if there's something you aren't sure about.

3) Eventually we would want the program to go into an rpm and the configuration files to go into puppet. During your development phase, that shouldn't matter too much. When we get closer to deploying, we'll need to figure out packaging of the application (ping me to reminds me that I volunteered to help with that ;-) and make sure that we have all the configuration files that needed to be modified so that we can put them in puppet.

4) You're now a part of the infrastructure team and we own your souls. Oops, did I say that out loud? ;-)

There's some information on this page that may help you somewhat with infrastructure: http://fedoraproject.org/wiki/ISOP:ORIENTATION

However, it is geared more towards the sysadmin side of things than the developer side (note that you may end up doing some sysadmin side once the app is deployed in production unless you can find someone else who can take care of it there). Feel free to ask me questions on IRC.

How's this going? Are we moving forward or did this fizzle?

We have this setup in it's own cloud instance now. ;)

Login to comment on this ticket.