GSoC 2011 Scripter2 Proposal: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
(Created page with "Category:GSOC_2011 = Enhancing ScripterNG in Scribus = == Abstract == Scribus shows that professional desktop publishing is possible with Free Software. Scribus has many po...")
 
No edit summary
Line 1: Line 1:
[[Category:GSOC_2011]]
[[Category:GSOC_2011]]
= Enhancing ScripterNG in Scribus =
= Enhancing ScripterNG in Scribus =


== Abstract ==  
== Abstract ==  
Scribus shows that professional desktop publishing is possible with Free Software. Scribus has many powerful features which are often mentioned in articles, eg. high quality PDF export and color management. But, its scripting features are not getting attention even after the complete redesign of its architecture.Scribus has a well designed API for its new ScripterNG, developed as part of GSoC 2008. But, this new generation scripter still lacks functionalities which are present in its old scripter. One of the main goals of this project is to port the complete API of old scripter to the ScripterNG so that any existing scripts developed for old scripter should be usable in ScripterNG, without any changes.
 
Scribus shows that professional desktop publishing is possible with Free Software. Scribus has many powerful features which are often mentioned in articles, eg. high quality PDF export and color management. But, its scripting features are not getting attention even after the complete redesign of its architecture.
 
Scribus has a well designed API for its new ScripterNG, developed as part of GSoC 2008. But, this new generation scripter still lacks functionalities which are present in its old scripter. One of the main goals of this project is to port the complete API of old scripter to the ScripterNG so that any existing scripts developed for old scripter should be usable in ScripterNG, without any changes.


== Problem Description ==
== Problem Description ==


The new ScripterNG in Scribus has not been added as a default feature in Scribus due to lack of functionalities in it. As compared to its old scripter, the new scripter has less number of Scribus API functions supported in it. For eg, Styles API is missing it ScripterNG, hence user is unable to handle styles using scripts. createParagraphStyle and createCharacterStyle were present in scripter1, but it is missing in ScripterNG. Here is a long list of changes which are yet to be implemented in ScripterNG :  - http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter - http://wiki.scribus.net/canvas/ScripterNG/Development#API_ideas_.2F_missing_APIsThis project will complete the porting of Old Scripter to ScripterNG, so that it may be used as the default scripter in Scribus.== Implementation Plan ==Implementation of this project will be based on the well-known software engineering principle, [http://en.wikipedia.org/wiki/Test-driven_development Test-driven Development]. All those scripts that are packaged with Scribus is tested with the new ScripterNG, and development proceeds by solving all those issues which encounter while testing them. All scripts those bundled with Scribus were developed based on Scripter1. This development process will also help to make the Scribus API better, since there exist more chances for some code refactoring. === Deliverables ===* Support for complete Scripter1 API in ScripterNG.** Reference : [http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter Porting Old Scripter] by Henning== Timeline ====== First week ====* Setting up the infrastructure like blog/wiki, code repository etc.* Getting additional feedback from developers and from the community about the project.==== Week 2-3 ====* Testing out scripts available and analysis of needed changes to be implemented* Documentation of changes==== Until 11th of July ====* Porting features from old Scripter, listed in the reference link.* Implement most needed API features before midterm evaluation.** Discussions with development team regarding those features to be implemented before midterm evaluations==== Until 15th of July ====Writing mid-term evaluation==== Until 10th of August ====* Further improving the ScripterNG API by adding all the features left, after the midterm evaluations* Writing sample scripts, for unit tests.** Each and every function ported to new Scripter will be tested.==== Until 15th of August ====* Fixing bugs* Reviewing and improving usability* Writing documentations** User documentation for each function, quoting the sample scripts** Developer Documentation.==== Until 26th of august ('pencils down') ====Preparations for Final Evaluation== Student Biography ==I am Jain Basil Aliyas, a computer science & engineering student from India. I am one among the members of Scribus team, KDE and Pardus Projects.== Contact Information =='''Name''' : Jain Basil Aliyas'''Country''' : India  '''Time Zone''' : GMT +530'''IRC Nickname''' : jainbasil in #scribus, #scribus-dev== Useful Links. == - http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter - http://wiki.scribus.net/canvas/ScripterNG/Development
The new ScripterNG in Scribus has not been added as a default feature in Scribus due to lack of functionalities in it. As compared to its old scripter, the new scripter has less number of Scribus API functions supported in it. For eg, Styles API is missing it ScripterNG, hence user is unable to handle styles using scripts. createParagraphStyle and createCharacterStyle were present in scripter1, but it is missing in ScripterNG.  
 
Here is a long list of changes which are yet to be implemented in ScripterNG :  
 
  - http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter
- http://wiki.scribus.net/canvas/ScripterNG/Development#API_ideas_.2F_missing_APIs
 
This project will complete the porting of Old Scripter to ScripterNG, so that it may be used as the default scripter in Scribus.
 
== Implementation Plan ==
 
Implementation of this project will be based on the well-known software engineering principle, [http://en.wikipedia.org/wiki/Test-driven_development Test-driven Development]. All those scripts that are packaged with Scribus is tested with the new ScripterNG, and development proceeds by solving all those issues which encounter while testing them. All scripts those bundled with Scribus were developed based on Scripter1. This development process will also help to make the Scribus API better, since there exist more chances for some code refactoring.  
 
=== Deliverables ===
 
* Support for complete Scripter1 API in ScripterNG.
** Reference : [http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter Porting Old Scripter] by Henning
 
== Timeline ==
 
==== First week ====
* Setting up the infrastructure like blog/wiki, code repository etc.
* Getting additional feedback from developers and from the community about the project.
 
==== Week 2-3 ====
* Testing out scripts available and analysis of needed changes to be implemented
* Documentation of changes
 
==== Until 11th of July ====
* Porting features from old Scripter, listed in the reference link.
* Implement most needed API features before midterm evaluation.
** Discussions with development team regarding those features to be implemented before midterm evaluations
 
==== Until 15th of July ====
Writing mid-term evaluation
 
==== Until 10th of August ====
* Further improving the ScripterNG API by adding all the features left, after the midterm evaluations
* Writing sample scripts, for unit tests.
** Each and every function ported to new Scripter will be tested.
 
==== Until 15th of August ====
* Fixing bugs
* Reviewing and improving usability
* Writing documentations
** User documentation for each function, quoting the sample scripts
** Developer Documentation.
 
==== Until 26th of august ('pencils down') ====
Preparations for Final Evaluation
 
== Student Biography ==
 
I am Jain Basil Aliyas, a computer science & engineering student from India. I am one among the members of Scribus team, KDE and Pardus Projects.
 
== Contact Information ==
 
'''Name''' : Jain Basil Aliyas
 
'''Country''' : India   
 
'''Time Zone''' : GMT +530
 
'''IRC Nickname''' : jainbasil in #scribus, #scribus-dev
 
== Useful Links. ==
 
  - http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter
  - http://wiki.scribus.net/canvas/ScripterNG/Development

Revision as of 16:46, 8 April 2011

Enhancing ScripterNG in Scribus

Abstract

Scribus shows that professional desktop publishing is possible with Free Software. Scribus has many powerful features which are often mentioned in articles, eg. high quality PDF export and color management. But, its scripting features are not getting attention even after the complete redesign of its architecture.

Scribus has a well designed API for its new ScripterNG, developed as part of GSoC 2008. But, this new generation scripter still lacks functionalities which are present in its old scripter. One of the main goals of this project is to port the complete API of old scripter to the ScripterNG so that any existing scripts developed for old scripter should be usable in ScripterNG, without any changes.

Problem Description

The new ScripterNG in Scribus has not been added as a default feature in Scribus due to lack of functionalities in it. As compared to its old scripter, the new scripter has less number of Scribus API functions supported in it. For eg, Styles API is missing it ScripterNG, hence user is unable to handle styles using scripts. createParagraphStyle and createCharacterStyle were present in scripter1, but it is missing in ScripterNG.

Here is a long list of changes which are yet to be implemented in ScripterNG :

- http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter
- http://wiki.scribus.net/canvas/ScripterNG/Development#API_ideas_.2F_missing_APIs

This project will complete the porting of Old Scripter to ScripterNG, so that it may be used as the default scripter in Scribus.

Implementation Plan

Implementation of this project will be based on the well-known software engineering principle, Test-driven Development. All those scripts that are packaged with Scribus is tested with the new ScripterNG, and development proceeds by solving all those issues which encounter while testing them. All scripts those bundled with Scribus were developed based on Scripter1. This development process will also help to make the Scribus API better, since there exist more chances for some code refactoring.

Deliverables

Timeline

First week

  • Setting up the infrastructure like blog/wiki, code repository etc.
  • Getting additional feedback from developers and from the community about the project.

Week 2-3

  • Testing out scripts available and analysis of needed changes to be implemented
  • Documentation of changes

Until 11th of July

  • Porting features from old Scripter, listed in the reference link.
  • Implement most needed API features before midterm evaluation.
    • Discussions with development team regarding those features to be implemented before midterm evaluations

Until 15th of July

Writing mid-term evaluation

Until 10th of August

  • Further improving the ScripterNG API by adding all the features left, after the midterm evaluations
  • Writing sample scripts, for unit tests.
    • Each and every function ported to new Scripter will be tested.

Until 15th of August

  • Fixing bugs
  • Reviewing and improving usability
  • Writing documentations
    • User documentation for each function, quoting the sample scripts
    • Developer Documentation.

Until 26th of august ('pencils down')

Preparations for Final Evaluation

Student Biography

I am Jain Basil Aliyas, a computer science & engineering student from India. I am one among the members of Scribus team, KDE and Pardus Projects.

Contact Information

Name : Jain Basil Aliyas

Country : India

Time Zone : GMT +530

IRC Nickname : jainbasil in #scribus, #scribus-dev

Useful Links.

 - http://wiki.scribus.net/canvas/ScripterNG/Development/PortingOldScripter
 - http://wiki.scribus.net/canvas/ScripterNG/Development