Changes between Version 6 and Version 7 of Development/SummerCoding/Ideas

Show
Ignore:
Timestamp:
03/12/10 08:25:12 (6 months ago)
Author:
glezos
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Development/SummerCoding/Ideas

    v6 v7  
    55The following list is in no way a complete one. If you have your own idea, get in contact with a member of the core team and propose it right away. 
    66 
    7 == API, CLI and AJAX == 
     7== Transifex Mobile App == 
     8 
     9  * ''Status:'' Proposed 
     10  * ''Summary of idea:'' In this project the student will develop a mobile version of Transifex. The application can be available for one of the three mobile platforms (Android, iPhone or Blackberry). It will be based upon the TX API that needs to be extended.  
     11  * ''Contacts:'' Nikos Tsirakis 
    812 
    913  * ''Status:'' Proposed 
     
    2125  * Some of the functionality might be more sensitive, so an API key generation/use mechanism might be needed too, in order to track what client is using the service and how. 
    2226  * Finally, logging the API use and generating some statistics might also be a good addition. This can be packaged a separate Django application to be reused by other tools as well. 
    23  
    24  
    25 == Committer service == 
    26  
    27   * ''Status:'' Proposed 
    28   * ''Summary of idea:'' Not all upstream repositories like Transifex pushing changesets to it. This idea proposes the implementation of a service run on upstream's own servers which regularly pulls changesets from Transifex and commits them to its own versioning system. 
    29   * ''Contacts:'' Dimitris Glezos 
    30  
    31 Currently Transifex runs as a web server, running the actual commits within the same process. This could be a bit of a security risk, and we'd like to have the commit service run as a different user. An advantage of this is that any repo can run this committer and control the submissions instead of giving SSH access to a downstream project. 
    32  
    33     * Split committer into a different component 
    34     * Move commit code outside transifex/ and into transifex-committer/ 
    35     * Practically, have it behave as a different application. First, we could communicate with it via an API and then via JSON to have it remotely. 
    36     * Use-cases: projects behind a firewall, upsteam projects not wanting to give SSH access, etc. 
    37     * Work with SELinux a plus.  
    38  
    39  
    40 == Server-federated architecture == 
    41  
    42   * ''Status:'' Proposed 
    43   * ''Summary of idea:'' One of the most important assets of Tx is its community bridging architecture. When multiple Transifex instances exist, they might want to share stuff, like users, translation statistics and maybe submissions. 
    44   * ''Contacts:'' Dimitris Glezos 
    45  
    46 Example scenario: A Fedora user could submit something to the Debian server, which will wait the approval of a Debian language leader. 
    47  
    48     * For a single Tx instance to scale well, one might want to split its functionality into (say) el.fooTx.org, pt.fooTx.org, etc. 
    49     * This splitting/joining requires something like a server to server architecture/protocol and the ability to aggregate and delegate stuff on both sides 
    50     * Some projects might want to have their own Tx instance which contains internal projects, not publicly visible. At the same time, they might have public projects wanting to freely receive translations, but also they might want to allow their internal translators to use this instance as a gateway to all other Tx servers. 
    51     * Minimizing the independence between the scattered Tx instances (ie. building bridges between the Tx "islands") will bring the whole "community bridging" idea of Transifex to a whole new level. This is the goal we want to reach in the long term.  
    52  
    53 The most important aspect of this idea is architecture design. The student will need to have a very good image of content and translation workflow, the process Transifex adopts, and study how open source projects work together. 
    54  
    55 Also, most likely the student will want to discuss a lot with the main Transifex developers. Fluent English is probably an important asset for someone applying for this idea. 
    56  
    57  
    58 == Transifex Mobile App == 
    59  
    60   * ''Status:'' Proposed 
    61   * ''Summary of idea:'' In this project the student will develop a mobile version of Transifex. The application can be available for one of the three mobile platforms (Android, iPhone or Blackberry). It will be based upon the TX API that needs to be extended.  
    62   * ''Contacts:'' Nikos Tsirakis 
    63  
    6427 
    6528== Implement "Project Communities" (meta-projects) == 
     
    10669== Support for more backend formats == 
    10770 
    108 More formats! XLIFF, TS, ... 
     71More formats! XLIFF, TS, Ruby files, Java property, .NET. 
     72 
     73The goal is to find lots of projects using this tool and allow them to get registered on Transifex. 
     74 
    10975 
    11076== Offline Translation using Lotte == 
    11177 
    11278Use something like the Google Gears to support offline editing of translation files. This will allow translators to open up their laptop in the bus or train and translate stuff. When they go online again, the files will be submitted on Transifex. 
     79 
     80 
     81 
     82 
     83== Committer service == 
     84 
     85  * ''Status:'' Proposed 
     86  * ''Summary of idea:'' Not all upstream repositories like Transifex pushing changesets to it. This idea proposes the implementation of a service run on upstream's own servers which regularly pulls changesets from Transifex and commits them to its own versioning system. 
     87  * ''Contacts:'' Dimitris Glezos 
     88 
     89Currently Transifex runs as a web server, running the actual commits within the same process. This could be a bit of a security risk, and we'd like to have the commit service run as a different user. An advantage of this is that any repo can run this committer and control the submissions instead of giving SSH access to a downstream project. 
     90 
     91    * Split committer into a different component 
     92    * Move commit code outside transifex/ and into transifex-committer/ 
     93    * Practically, have it behave as a different application. First, we could communicate with it via an API and then via JSON to have it remotely. 
     94    * Use-cases: projects behind a firewall, upsteam projects not wanting to give SSH access, etc. 
     95    * Work with SELinux a plus.  
     96 
     97 
     98== Server-federated architecture == 
     99 
     100  * ''Status:'' Proposed 
     101  * ''Summary of idea:'' One of the most important assets of Tx is its community bridging architecture. When multiple Transifex instances exist, they might want to share stuff, like users, translation statistics and maybe submissions. 
     102  * ''Contacts:'' Dimitris Glezos 
     103 
     104Example scenario: A Fedora user could submit something to the Debian server, which will wait the approval of a Debian language leader. 
     105 
     106    * For a single Tx instance to scale well, one might want to split its functionality into (say) el.fooTx.org, pt.fooTx.org, etc. 
     107    * This splitting/joining requires something like a server to server architecture/protocol and the ability to aggregate and delegate stuff on both sides 
     108    * Some projects might want to have their own Tx instance which contains internal projects, not publicly visible. At the same time, they might have public projects wanting to freely receive translations, but also they might want to allow their internal translators to use this instance as a gateway to all other Tx servers. 
     109    * Minimizing the independence between the scattered Tx instances (ie. building bridges between the Tx "islands") will bring the whole "community bridging" idea of Transifex to a whole new level. This is the goal we want to reach in the long term.  
     110 
     111The most important aspect of this idea is architecture design. The student will need to have a very good image of content and translation workflow, the process Transifex adopts, and study how open source projects work together. 
     112 
     113Also, most likely the student will want to discuss a lot with the main Transifex developers. Fluent English is probably an important asset for someone applying for this idea. 
     114 
     115 
     116 
    113117 
    114118== Keyboard shortcuts ==