Author Topic: OpenGoo for eyeOS  (Read 54760 times)

nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
OpenGoo for eyeOS
« on: August 08, 2008, 07:31:49 am »
Hi, i' m an italian student and i want to try to insert OpenGoo weboffice in the eyeOS webOS (for my thesis), but i haven't find any developer manual or description of structure for OpenGoo.

If someone knows where is a description/manual for developer of OpenGoo or want to help me in my job... i'm here!!!!

thanks.
nemesi

conrado

  • Administrator
  • Hero Member
  • *****
  • Posts: 998
  • Conrado
    • View Profile
    • Feng Office
    • Email
Re: OpenGoo for eyeOS
« Reply #1 on: August 08, 2008, 02:18:37 pm »
Hi nemesi.

I love the idea!

EyeOS is a project I follow and for which I have tremendous admiration. I don't know what exactly you plan to do, but a combination of both projects sounds certainly like a good idea.

Unfortunately there is no formal documentation of OpenGoo's underlaying structure, but the core team and me would gladly help to build one, and I am sure others will soon join the effort.
Get Official Support for your Feng Office. Support the development team. Sign up for a Free Trial here.

nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #2 on: August 09, 2008, 06:11:30 am »
Great !!!

The idea is to create inside eyeOS an "application" with OpenGoo.

This because eyeOS and OpenGoo are good projects with, i hope, a hard increase for the future. They are similar (written in PHP, open source and installable in the same Apache server) but eyeOS haven't a project management, moreover they have the same format for document  (html).

INTEGRATION PROJECT:
1. Install eyeOS and OpenGoo in the same server. (ok)
2. Create in eyeOS an application that run OpenGoo inside the eyeOS desktop. (ok)
TODO:
3. Manage the users. Same nick and password for eyeOS and OpenGoo and automatic login in OpenGoo when a user starts the opengoo application.
4. Manage files. The possibility to "download" the file of OpenGoo directly in the eyeOS virtual filesystem.  On the other side, the possibility to "upload" the file from eyeOS directly in OpenGoo.
Moreover i would be, without change the extension of the documents, that OpenGoo recognized the document with extension "eyedoc" like an html document (the same for eyeOS, recognize the OpenGoo document ).

This is the base point of the project.

The first two point are nearly ended! The problem is for 3 and 4. I have to find the function for the authentication and the file managing  of OpenGoo and understand how to make all !!!!

If someone has any other idea or suggestion for the "fusion"... post here.
I'm working for this.


nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #3 on: August 10, 2008, 11:28:48 am »
My work is started well....

Auto-login is ok!  :)))))

Now, 
i had "ended" the work with eyeOS and i'm ready to start to work with  OpenGoo .

HELP!!!! someone knows how can i do the 4th point !?!


ignacio

  • Hero Member
  • *****
  • Posts: 1703
    • View Profile
Re: OpenGoo for eyeOS
« Reply #4 on: August 12, 2008, 09:50:19 am »
Hi nemesi!

I can't help you much on the eyeOS side but I can guide you on OpenGoo's side.

A little background on OpenGoo's architecture:

OpenGoo implements the Model View Controller design pattern. In the application folder you have a controllers folder, a models folder and a views folder. The first contains PHP classes that execute actions called form the GUI (FilesController, AccessController, TaskController). The models folder contains PHP classes that are persisted in the database and that represent all the objects handled in OpenGoo (ProjectFile, User, ProjectTask). Finally, the views folder contains PHP files that generate the HTML (or anything other format) that the user will see (add_file.php, login.php, view_task.php). Besides the application folder you also have the environment folder that contains generic PHP functionality, the library folder that contains PHP libraries, the language folder that contains translations and the public folder that contains the CSSs, javascripts, images, etc.

An OpenGoo URL always includes a parameter indicating the controller, a parameter indicating the action to execute and other arguments specific to that action. For example, the URL index.php?c=files&a=edit_file&id=4 would call the add_file method of the FilesController class and there it would load the file with id 4. This action would load the view that will be displayed and pass it any objects it may need (in this case, the edit_file.php would be loaded and it would be passed the file with id 4). That HTML is returned to the server.

These URLs are actually invoked by ajax calls from the GUI, and need other parameters to work correctly that I omitted to simplify things for now. The response from the server is actually a JSON encoded string which contains information about errors, events and the HTML generated by the action. This JSON string is decoded by some javascript code and then processed to display error messages, fire events and load the content into the corresponding panel.

On the client side OpenGoo uses ExtJS as its main javascript library.

In order to import documents from eyeOS you will need to, for example, add a method to the FilesController called import_from_eyeos. This method should be similar to the add_file method, in the sense that it should create a ProjectFile object and save it into the database, so you might want to take a look at that method in order to have an idea of how to start. One important thing is that you should set some mime type for the eyedoc so that OpenGoo can know that the file is an eyedoc file (maybe just setting it to text/html will do).

For OpenGoo to handle eyedoc files correctly you might want to set an icon for that type and tell OpenGoo to open eyedoc files with FCKEditor (assuming that eyedoc files contain HTML). For the first thing there's a CSS file that associates an image to each mime type which is in public/assets/themes/default/stylesheets/file/types.css. There you should add an entry for the eyedoc file (if it's mime type isn't already there). To tell OpenGoo to open the eyedoc file with the FCKEditor you should change the getModifyUrl function in application/models/files/ProjectFile.class.php and return the appropriate URL for eyedoc files.

Ok, this should do for now. If you have any further questions or if anything isn't clear enough don't hesitate to ask.  :)



nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #5 on: August 12, 2008, 10:10:57 am »
Thanks Ignacio.
Good "little background".

WORK IN PROGRESS ......

nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #6 on: August 13, 2008, 06:35:34 am »
Hi guys,
yesterday i had finish a first beta release of eyeOpenGoo (without modify OpenGoo, only simply integration on eyeOS).  ;D

If you want to see it:
http://eyeos-apps.org/content/show.php/show.php?content=87018&vote=good&tan=54027690&PHPSESSID=52b37690363b33875a31abe27e3db8aa

cabeza

  • Administrator
  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
    • Feng Office
Re: OpenGoo for eyeOS
« Reply #7 on: August 13, 2008, 09:50:53 am »
Great!
Keep it up.
Marcos

nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #8 on: August 18, 2008, 07:05:15 am »
I have a problem ;D

For OpenGoo to handle eyedoc files correctly you might want to set an icon for that type and tell OpenGoo to open eyedoc files with FCKEditor (assuming that eyedoc files contain HTML). For the first thing there's a CSS file that associates an image to each mime type which is in public/assets/themes/default/stylesheets/file/types.css. There you should add an entry for the eyedoc file (if it's mime type isn't already there). To tell OpenGoo to open the eyedoc file with the FCKEditor you should change the getModifyUrl function in application/models/files/ProjectFile.class.php and return the appropriate URL for eyedoc files.

I don't understand why the eyedoc files that have plain/text MIME type, are not managed to OpenGoo!!!

- The icon, already on the types.css for plain/text,  don't work ...
- And the modifications to the function getModifyUrl... don't work

All work only if i change the extension from eyedoc to html ...
Are you sure that all work only with mime type and not with files extension?!?!?


ignacio

  • Hero Member
  • *****
  • Posts: 1703
    • View Profile
Re: OpenGoo for eyeOS
« Reply #9 on: August 18, 2008, 10:22:49 am »
I tried uploading an html file and changing its extension to eyedoc and it worked ok. It keeps showing the correct icon and it still opens the editor. It should work only with the mime type.

Check what is the value of the type_string column on the project_file_revisions table for that eyedoc file. If you set the mime type for eyedoc files as text/html it should work ok.

Maybe I'm missing something. If you want you can upload or mail me (ignacio.desoto@gmail.com) some of the modifications you've made so that I can better figure out what is happening.

nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #10 on: August 18, 2008, 12:15:32 pm »
GREAT IGNACIO !!!!!   :-* :-* :-* :-* :-*

The key was the DB ...
Check what is the value of the type_string column on the project_file_revisions table for that eyedoc file.

I don't understand why, for my Ubuntu, the MIME type of the eyedoc files is "text/plain" when the real MIME type is "application/octet-stream".
I have find the right mime in the opengoo DB.

NOW I CAN EDIT THE EYEDOC ... but, how can i define the icon? i know, in the types.css, but what is the right name?!?!?!
.ico-application-octet-stream   is wrong!

Is possible to define an icon not only for the mime type but also for the extension? how?

ignacio

  • Hero Member
  • *****
  • Posts: 1703
    • View Profile
Re: OpenGoo for eyeOS
« Reply #11 on: August 18, 2008, 02:32:18 pm »
In order to set an icon depending on the file extension you would have to modify the renderIcon function in each of the listings (unfortunately there's one for each listing due to duplicated code) and add a css class depending on the file extension. Then you would add an entry to types.css matching that classname, that sets a background image for the icon.

It would be better if you could set a mime type unique to eyedoc documents, something like text/eyedoc for instance. You could check the filename extension when uploading the file and set the correct mimetype.if it ends with ".eyedoc". Adding a .ico-text-eyedoc entry to types.css would allow you to define its icon.

The icon for CO views is defined in application/views/co/view.php, and currently depends only on the type of CO, so all files have the same icon (except for images which show a thumbnail instead of an icon).

nemesi

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: OpenGoo for eyeOS
« Reply #12 on: August 19, 2008, 06:02:03 am »
I have inserted a control in the upload that change the mime type of eyedoc files in text/html ( in ProjectFile.class.php, handleUploadedFile function), so i have a same icon of the other document and i don't change nothing else to edit.

I have inserted also a change in FilesController.class.php on the save_document function to save eyedoc files without .html extension. So now you can: upload a file from eyeos to opengoo; edit the eyedoc file without change the extension and download from opengoo to eyeos the same file and eyeos (that work with the files extension) recognizes the file like an eyedoc document.



dt

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: OpenGoo for eyeOS
« Reply #13 on: August 21, 2009, 09:13:58 pm »
Hi nemesi

Is your project of integrating OpenGoo within eyeOS still pending?
The French repository for eyePass seems to be dead and your last post is already one year old.
- eyePass says it installed, but on neither in eyeOS GUI nor on the filesystem can I find anything on it
- eyeOpenGoo on the other hand also say it installed correctly (and I've changed the URL in info.xml), but when I doubleclick on eyeOpenGoo it just displays some XML text.

I like your ideas regarding the integration of these two great applications - and I'd consider it a great pity if it was dead.

I'm on eyeOS 1.8.7.0 and OpenGoo 1.5.2 on Gentoo 2008.0
                                                     
Any help is greatly appreciated.

Thanks a lot and best regards.
dt
« Last Edit: August 21, 2009, 09:17:54 pm by dt »

miguipda

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: OpenGoo for eyeOS
« Reply #14 on: August 26, 2009, 04:11:06 am »
Dear Nemesi,

I just discoverd OpenGoo and is really happy with it.

I also think it could be a great deal to be able to use opengoo in eyeOS. And I discover this forum when you tried to integrate both.

I am also interrested to be able to use both environments.

Can you please tell us where to find all the eye package to use both environment.

With pleasure to read you bakc.

Miguipda ;-)