Develop: Difference between revisions

From OLPC
Jump to navigation Jump to search
(bundle)
No edit summary
Line 18: Line 18:
-->
-->
}}
}}
{{ OBX team |[http://z3p.jot.com/WikiHome z3p], [[User:Homunq|Homunq]], [[User:Mcfletch|mcfletch]]}}
{{ OBX team |[[User:paulswartz|paulswartz]], [[User:Homunq|Homunq]], [[User:Mcfletch|mcfletch]]}}

<small>see more [[:Category:OBX templates|templates]] or [[OBX proposals|propose new]]</small>
<small>see more [[:Category:OBX templates|templates]] or [[OBX proposals|propose new]]</small>
{{Olpcboxbottom}}
{{Olpcboxbottom}}
Line 27: Line 28:
== Considerations ==
== Considerations ==


Currently this version only edits activities that are stored in ~olpc/Activities, but that at least means that you can use it to develop itself. It keeps the file data in the journal as well as in the filesystem. This means that you can restore an old version of a file by opening it up in the journal. Be careful! This can overwrite newer work if you're not.
Currently this version only edits activities that are stored in ~olpc/Activities, but that at least means that you can use it to develop itself. It keeps on the filesystem instead of the Journal, but this may change in the future.


'''To work, it needs you to either disable Rainbow globally or apply the [http://z3p.jot.com/WikiHome/DevelopActivity/activityfactory.diff?cacheTime=1201325335043 patch] to activiyfactory.py because it needs access to the file in ~olpc/Activities.'''
'''To work, it needs you to either disable Rainbow globally or apply the [http://z3p.jot.com/WikiHome/DevelopActivity/activityfactory.diff?cacheTime=1201325335043 patch] to activiyfactory.py because it needs access to the files in ~olpc/Activities.'''


== Roadmap ==
== Roadmap ==
Line 38: Line 39:
* running the activity from Develop (see debugger idea, below)
* running the activity from Develop (see debugger idea, below)
* viewing/editing source of existing activities (by making a local copy)
* viewing/editing source of existing activities (by making a local copy)
* Replace (I don't have a good idea for an interface yet -- [[User:paulswartz|paulswartz]])
* Replace
* Wrap up bundle (zip to .xo file and store in journal with correct mime type)
* Wrap up bundle (zip to .xo file and store in journal with correct mime type)
* exporting/importing individual (eg. svg) files from the Journal so they can be edited with other activities
* exporting/importing individual (eg. svg) files from the Journal so they can be edited with other activities
* This will be more useful when there's an activity which can edit SVG files. [[User:paulswartz|paulswartz]]


Here are some features which take more work but there is somebody interested in working on them:
Here are some features which take more work but there is somebody interested in working on them:

Revision as of 17:42, 5 February 2008

  english | 日本語 | 한국어 HowTo [ID# 105797]  +/-  
Xo s.png
.xo BundleDevelop.xo
TST {{{1}}}
Trac print.png Tickets all - active - new
Translate-icon-55px.svg Localization
.POT file NEEDED

see more templates or propose new

The Develop activity is the activity for making or modifying other activities. Currently, it comprises a tree view of files in an activity's directory and a python source code editor (tabbed). Other features are actively being worked on.

This is the second incarnation of such an activity. The wiki page for the previous, now broken, version is at Old Develop activity. The old page has discussion of many grandiose planned features, which are worth looking at for ideas, and in general still considered desirable. However, the new version is intended to be developed step-by-step, with small, working features valued over all-encompassing architectures.

Considerations

Currently this version only edits activities that are stored in ~olpc/Activities, but that at least means that you can use it to develop itself. It keeps on the filesystem instead of the Journal, but this may change in the future.

To work, it needs you to either disable Rainbow globally or apply the patch to activiyfactory.py because it needs access to the files in ~olpc/Activities.

Roadmap

Here are some features planned for implementation relatively soon:

  • creating new activities
  • running the activity from Develop (see debugger idea, below)
  • viewing/editing source of existing activities (by making a local copy)
  • Replace (I don't have a good idea for an interface yet -- paulswartz)
  • Wrap up bundle (zip to .xo file and store in journal with correct mime type)
  • exporting/importing individual (eg. svg) files from the Journal so they can be edited with other activities
  * This will be more useful when there's an activity which can edit SVG files. paulswartz

Here are some features which take more work but there is somebody interested in working on them:

  • A debugger based on the RPDB2 (winpdb back end) console. This would mean some significant work on providing a context for a running activity - maybe even letterboxing it inside a frame of develop. Homunq 11:26, 5 February 2008 (EST)
  • Code-level l10n - see bityi Homunq 11:26, 5 February 2008 (EST)
  • Rudimentary source control - z3p

Here are some features which may be desirable, but nobody is working on them. Some of these would be enormous projects and will probably never get done.

  • Class browser, autocompletion, popup function signatures, refactoring aids, and similar code-editing sweets.
  • Bug tracker (would have to allow users to submit bugs to a centralized repository)
  • Unit testing
  • Source control (ideally much of the functionality should be inherited from the journal - wait for this stuff to make it into the journal first)
  • Activity sharing / Pair Coding (that is, concurrent editing of the same source file. It has been suggested that this should be implemented by replacing the editor widget with an Abiword widget; the Abiword folks have done some work in this direction.)
  • Dynamic reloading of a running activity
  • Visual programming

Updates

   * -20 has undo/redo and find
   * -21 has support for jhbuid (thanks to Mike Fletcher), and is refactored a bit
   * -22 has a tabbed editor and a file menu