GSoC 2009 Better Masterpages by dhan0

From Scribus Wiki
Jump to navigation Jump to search
Archive icon.png
This article is ARCHIVED. It is a part of the Scribus Community's history and is kept here for reference and as a representation of the contributed efforts. It is protected from editing, but its source can be copied.


Scribus is the only professional-grade Open Source Desktop Publishing Software that supports many professional publishing features. Master pages are an important part of DTP. Presently, editing of master pages is not very flexible. It's also not possible to edit the master page features on a normal page, which is a major drawback for many users. This project aims to incorporate new functionality into Scribus that will to enhance the editing of master pages.


Scribus makes desktop publishing with free and open software possible. Master pages are an important professional requirement. Users may want to change some features of the master page in the current normal page without changing the actual master page or creating a new one as is currently required. The current way to edit master pages is cumbersome and time consuming. The completion of this project will enable users to handle master pages and related operations with ease and flexibility, which will be widely appreciated in the desktop publishing world.


The project aims at incorporating the following features into Scribus

1. Options for editing master page object occurrences on a regular page

  • This task provides options for the user to
- move or resize occurrences
- change the style of occurrences
- remove occurrences from a regular page

without modifying the master page itself. Also, it allows a user to revert occurrences to how they look on the master page with options to retain content, style, size and position if necessary. An alternative approach might be to allow direct access to master page items via modifier keys.

2. Quick Access to Master pages

  • A quick access option 'Master Page' to be provided in the status bar which would provide access to the master page of the currently selected page. All the master page related operations may be made available here.

3. Master page Listing

  • Listing the available master pages under the Page list in the status bar, so that users could easily select the master page of their choice, edit it if needed and apply it to the current page.

4. Preview of a Master page

  • Adding a "preview" option to the "Apply Master Page" dialog box, which appears on bringing up Page -> Apply Master Page, which would provide a thumbnail preview of the selected master page or of the master page that one tries to apply to the current page.


  1. Options for efficient editing of items on a master page of the current page.
  2. Master page Listing and Preview for better master page selection.
  3. Quick access option 'Master Page' to list all master page related operations under the Page list in the status bar.
  4. Documentation


Up to May 23, 2009 - Getting familiar with Scribus source code and getting clarifications and refinements for the proposed ideas.
May 23 - June 10, 2009 - Implementing the first part of the project.
June 10 - June 13, 2009 - Discussions with mentor about the first part and fixing bugs.
June 13 - July 1, 2009 - Implementing second and third parts of project.
July 1 - July 3, 2009 - Discussions with mentor about the latter two parts and fixing bugs.
July 3 - Aug 1, 2009 - Implementing the last part of the project.
Aug 1 - Aug 3, 2009 - Discussions with mentor and fixing bugs.
Aug 4 - Aug 14, 2009 - Final review of code and documentation.


First Name : Dhanashree
Name : Nellayi Prasad Dhanashree
Email Id :
IRC nick : dhan0
Location : Kerala, India
Timezone : GMT + 5:30
blog URL :
I am Dhanashree N P , a second year (fourth semester) student of B.Tech Computer Science and Engineering at the Government Engineering College, Thrissur. I have been coding in C++ for the last 4 years and C for the 2 years. I know basics of Python and SQL, and I have started learning Qt. I have also started reading the source code of Scribus.
I have done coding in C++ as a part of academic projects for my school. I am a member of Free Software Users Group, Thrissur, and have already used Scribus for designing a 3-fold brochure for a seminar conducted by the group.I haven't been involved in any Open Source development projects so far, but I am looking forward to do that as a student of GSoC 2009 with Scribus.