Skip to main content

Stalker (ProdAM) Based Web App

Project description


Stalker is an Open Source Production Asset Management (ProdAM) System designed specifically for Animation and VFX Studios but can be used for any kind of projects. Stalker is licensed under LGPL v2.1. And Stalker Pyramid is the Pyramid Web App package based on Stalker. Basically it supplies the web interfaces to the system. It is also licensed under LGPL v2.1.

  • Designed for animation and VFX Studios.
  • It is a Pyramid Web Application.
  • Platform independent.
  • Default installation handles nearly all the asset and project management needs of an animation and vfx studio.
  • Customizable with configuration scripts.
  • Customizable object model (Stalker Object Model - SOM).
  • Uses TaskJuggler as the project planing and tracking backend.
  • Can be used with any kind of databases supported by SQLAlchemy.
  • Can be connected to all the major 3d animation packages like Maya, Houdini, Nuke, XSI, Vue, Blender etc. and any application that has a Python API.
  • Can work as a stand-alone application.
Stalker Pyramid is build over these other OpenSource projects:
  • Python
  • Stalker
  • Pyramid
  • SQLAlchemy and Alembic
  • Jinja2
  • TaskJuggler


The latest development version is available in Google Project page of Stalker or can be directly cloned with the following command if you already have mercurial installed:

hg clone stalker_pyramid

Stalker Pyramid Changes


  • Update: The Pyramid part of Stalker is moved in to a new package (this one).
  • Fix: Fixed DBSession, it is now configured with ZopeTransactionExtension independent of Stalkers own configuration.
  • Fix: Fixed TimeLog update dialog timing bug. TimeTextBox values are set by ‘set’ method.
  • New: Hierarchical names of the task are added to Task Tool Tip window.
  • New: Hierarchical names of the task are added to Create/Update TimeLog dialog.
  • New: It is now possible to duplicate a task hierarchy in gantt chart now.

pre 0.1.0.b1

  • Update: All the date values are now returned as UTC String and stored in database as UTC datetime thus Stalker now supports Time Zones.

  • Fix: Fixed all the dialogs with TimeTextBox inputs, where the date portion was reset to epoch by the widget itself, causing a change in Day Light Saving of the users locale and the dialog was reporting wrong date time values. Now in those dialogs, on submit a new date object is created or the DateTextBox widget value is used and the time portion of the Date object is updated from the TimeTextBox. This way, it is guaranteed to get correct date and time values.

  • Fix: Fixed Studio create/update dialog, it is now correctly setting the start and end hours of a non working day.

  • New: Studio Page is created.It has Tasks and Resources as Tabs.

  • New: Update Studio function id added.

  • New: Thumbnail Add function is added to several objects’ Summarize Pages. (Task, Asset, Shot, Sequence,Department, Group). List Page is also updated by new thumbnail information.

  • Fix: dgrid height attribute is updated and new div’s are added for dgrid object.

  • Fix: Working hours for each day is taken from database in Studio Update Dialog.

  • New: List Ticket page and Create/Update Ticket dialog are created.

  • Fix: Added logged_in_user object to user page to fix permission bug. So default facilities of page is define based on logged_in_user.

  • Fix: Fixed DGrid auto height problem.

  • Fix: GanttChart view of Assets, Shots,Sequences or Tasks now displays only the children and parents of that Task derivative.

  • Update: Task create/update dialog now displays the full hierarchy in parent/dependent task listings.

  • Fix: TimeLog create/update dialog now displays the default times correctly when creating a new TimeLog.

  • Fix: TimeLog create/update view callables are now checking if there will be any OverBookedError raised.

  • Fix: Task create/update dialog now will not list the task itself in parent and dependent task lists, if the UI is called with a Task instance ({{task}} is not None).

  • Update: For Asset Page and Task Page tab order is changed.

  • New: Starts and Ends attributes are added to Task Summary Page.

  • Update: List of Users, Departments and Groups are now sorted by using the name of the entity.

  • Update: Task create/update dialog now has a new field called priority.

  • Update: Task.schedule_constraint is now filled with correct information when creating/updating a Task.

  • Fix: Selected ‘Status’ attribute for ‘Task Dialog’ in ‘Update’ mode is

    set when dialog is open.

  • New: Version List Page and Create/Update Dialogs are added.

  • New: Vacation List Page and Create/Update Dialogs are added.

  • Fix: Merge tested, and vacation adding is finished.

  • New: Version Page is created. It has Outputs,Inputs and Children as


  • New: Added ‘duration’ field to TimeLog’s List dgrid.

  • Fix: Fixed the error in rendering of the home occurred when there is no user login information found in the request.

  • New: User thumbnails now can be changed.

  • New: Project thumbnails now can be changed.

  • New: content_list_projects now shows the project thumbnails.

  • New: content_list_users now shows the user thumbnails.

  • New: submitForm.js now enables all the disabled fields of the given form, and disables them back again upon error.

  • Fix: TagSelect.js will now correctly disable the child widgets if the disabled attribute is set to true.

  • New: Added fields javascript library which are a special group of input fields designed to be used with Stalker.

  • New: Added the first input field to stalker/fields, called tagField. It is now possible to add a TagSelect field which is correctly updated by only two lines of code.

  • New: Added get_tags() to stalker.views.__init__ module. Because all the tags now should be created with the tagField the way to retrieve tags is the same, so this helper function will let you retrieve tags from the given request instance.

  • New: Permissions page is added to Group Page.

  • Fix: dgrid object is declared from [Grid, Selection, Keyboard]. So it’s possible to select a row and navigate by Keyboard.

  • New: Permission controls are added to ‘Page’ and ‘List’ files.

  • New: Permission controls are added to ‘Dialog’ and ‘Summary’ files.

  • Fix: Minor bug is fixed in Update Department dialog.

  • Update: Updated to Dojo 1.9

  • Update: stalker.js is renamed to dialogs.js and it is now fully compatible with Dojo AMD.

  • Update: Merged StatusList create and update dialogs in to one.

  • Update: Content List - Task now checks user permissions to disable part of the UI.

  • Update: Added description field to the Summarize Task view.

  • Update: Added permission checks to several views.

  • Fix: Fixed fieldUpdater.js to work properly with Dojo 1.9 especially for MultiSelect widgets.

  • Fix: Separated the dialog and action routes for Structure.

  • Fix: Fixed unnecessary module imports in stalker.js.

  • Fix: Schedule button is now working properly.

  • Fix: Fixed Image Format creation.

  • Fix: Fixed Filename Template create dialog routine.

  • Fix: Fixed Filename Template update dialog routine.

  • Fix: Fixed entity_types in Filename Template creation UI.

  • Fix: Fixed Group update dialog, the permissions were not displayed and the name was not updated on the server side.

  • Fix: Fixed TaskBox CSS template

  • New: GanttChart now displays the finished/unfinished tasks with a green/red ‘id’ column.

  • Fix: Status color attribute converted from unicode to integer.

  • Fix: To destroy previous open dialog, same dialog id is given for create and update dialogs.

  • Update: In create/update_group dialog, to check all rows new checkboxes are added to head of each column.

  • Update: ComboBox is added to TagSelect widget as a new input widget type.

  • Update: Description field is added to Department dialog.

  • Fix: user_create_dialog now shows and updates groups.

  • Fix: Updating a project now correctly refreshes the project_summary content pane.

  • Fix: Separated the dialog and action routes for ImageFormat.

  • Fix: Separated the dialog and action routes for Asset.

  • Fix: Separated the dialog and action routes for Repository.

  • Fix: The working hours were not correctly passed to the studio instance in Studio creation.

  • Fix: “Append User Dialog” is now working properly.

  • Fix: Links between pages is created with redirectLink function which is written in base.jinja2. goToLink.js is deprecated, but still there are some codes that uses gotolink.js, they must be changed for next update.

  • Update: Combined user_create_dialog and user_update_dialog into one.

  • Update: Logged in work times will now be visible in gantt charts as a green bar in the TaskBar div.

  • Update: Department menus under ‘Crew’ menu are now showing the department users.

  • Update: Color choosers in “Create Status Dialog” now have colors picked by default for BG and FG colors.

  • Update: Replaced DataGrid objects with dgrid.

  • Update: Added navigation bar for assets, shots, sequences.

  • Update: Combined project_create_dialog and project_update_dialog into one.

  • Update: Merged the ‘Crew’ menu creation code in to one single teamMenuCreator.js, which is able to create menus for any groups and faux groups.

  • Update: All DataGrid field updated with dgrid class.

  • New: Placeholder images added for user and department.

  • New: Added update group dialog.

  • Update: Colors for the layouts are changed with MiamiNice PieChart’s color.

  • New: Added update group dialog.

  • New: Append department and append group pages has connected to database.

  • New: Timelog List page added.

  • New: New placeholders added for different type of object.

  • New: Added dialogCreator.js which helps creating a dialog without having a widget (Button or MenuItem) calling it and updated dialogCaller.js to use dialogCreator while creating a dialog.

  • The Shot, Asset, Sequence detail pages under the Project Overview now opens inside the related tab on the Project Page.

  • Updated the Create Task Dialog to reflect the TaskJuggler integration.

  • Changed the license of Stalker_Pyramid from BSD-2 to LGPL 2.1. Any version previous to 0.2.0.a9 will be still BSD-2 and any version from and including 0.2.0.a9 will be distributed under LGPL 2.1 license.

  • TagSelect now can be filled by setting its value attribute (Ex: TagSelect.set(‘value’, data))

  • Fixed Projects menu in base.jinja2, the link is now updating correctly when a new project is added.

  • Converted the to a python module and put the views for each entity to its own python file.

  • Added a new Dojo Widget called Tag to help the creation of the tags in the TagSelect.

  • Updated java scripts to be required in Dojo AMD way.

  • Updated to include “pyramid_jinja2”

  • Added ‘PlaceHolder’ property for ‘FilterSelect Widgets’. And ‘Label’ property is used in construction of ‘PlaceHolder’ property.

  • Set disabled prerequisite fields, until their prerequisite is selected.

  • Added StartDate, EndDate and Duration field to add_project page. StartDate, EndDate properties are now written to database.

  • Project page is redesigned. SplitContainer is removed. All contents are displayed in TabContainer. New Contents in TabContainer are:

    • ProjectName (Disabled Field - Used for displaying projectname.)
    • Overview (It has InlineEditable fields. Although they are not connected to DB.)
  • Shot and Asset creation dialogs now automatically updated with the given Project instance info.

  • User overview page is now reflection the new design.

  • The WebUI form fields are now refreshed with newly added data.

  • Added a new Dojo widget called TagSelect. Which is basically a widget for adding Tag style widgets.

  • Converted the whole system to a Pyramid Web application. If the previous implementations investigated, it will be understood that it was only the database model of a Web Application.

  • jQueryGantt:

    • Update: The gantt chart is now able to display much more info then before. There are two new modes for each of the Grid and Gantt parts of the Gantt Chart. Grid can be set to display Tasks or Resources and the Gantt can set to display Tasks or TimeLogs.
    • Update: Horizontal scrolling is disabled in gantt part of Gantt Chart. All the drawn tasks and links are now set in position with percent values, so they will stick and scale correctly when the split container resize.
    • Update: Any task out of range is culled in gantt chart.
    • Update: Added new buttons to change the range in -1/+1 month, -1/+1 week, -1/+1 day.
    • Update: Replaced the Date.format() (originally replaced by jQueryGantt date.js) with date.format.js library.
    • Update: Changed the background of the Grid and Gantt editors.
    • Update: If the displayed tasks is clipped to the current start end range a double red border is displayed in the clipped start or end.
    • Update: Context menu can now be opened in task names in grid editor.
    • Update: Optimized the creation of task rows.
    • Update: Replaced the input elements with div in the task row.
    • New: Holding the mouse on Task bar elements will now show a popup window for more info.
    • Update: Gantt Chart zoom levels are now fully controlled by the start and end date DateTextBoxes.
    • New: Added a new button which will center the gantt chart on today.
    • Update: Replaced the duration column with timing which correctly shows the schedule timing info of the related task.
    • Fix: The depends column shows the dependent task names correctly.
    • Update: jQueryGantt displays the owner Project of the Tasks as a container task.
    • Update: Added content link (this will be updated to support proper links, hardcoded links to be removed).
    • Update: Disabled drag and resize of TaskBar elements.
    • Update: Moved the resource link code to the JST template code instead of the Task class.
    • Fix: t is now possible to correctly move a TaskBar without getting in to an infinite loop which was freezing the browser.
    • Update: The timing resolution of jQueryGantt is now 1 hour.
    • Fix: GanttMaster.task_ids were not properly cleaned in GanttMaster.reset(), resulting wrong links to be created.
    • Update: Added a new zoom level where it is possible to see the every 1 hour of 1 day.
    • Moving any child task will adjust the parent start and end dates so they fit to the children.
    • Gannt view is now communicating with Stalker correctly. The only left issue is the end date value is not properly shown in the gannt view.
    • Updated the jQueryGannt css’s to work with Stalker and Dojo.
    • Colorized the Sunday column in suitable zoom levels. In upcoming releases it will use the attribute to determine if the day/hour is an off day/hour.
    • Disabled editing of date fields.
    • Disabled undo/redo queue for performance test.
    • Fixed vertical overflow in gantt chart.
    • It is now possible to not to align a tasks start to its dependent tasks end.
    • jQueryGantt is now using the Task ids coming from Stalker instead of the ridiculous rowId.
    • Fixed a lot of issues related with the new data structure, it seems everything is working properly right now.
    • Parent Tasks displayed differently than the leaf tasks (on paar with the other gantt charts).
    • Gantt chart in User Detail page is now showing the parent tasks of the tasks of the user.
    • Now there are two different context menus for container/parent tasks and leaf tasks.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for stalker_pyramid, version 0.1.0.b1
Filename, size File type Python version Upload date Hashes
Filename, size stalker_pyramid-0.1.0.b1.tar.gz (9.4 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page