P4 Plug-Ins
1999 - 2000
Project Plug-In Arch.
Client Perforce Software
Task Design & Build
Tools C & C++
Solution Framework & User Interface abstractions

Plug-in Architecture for Perforce

Perforce is a fast SCM tool based on a client / server architecture: Programmers run the client on their workstations to check code in and out of the server. When Perforce came to us they had a command line client, a graphical client for Windows, and two clients that integrated into different development environments.

With modern integrated development environments, if an external tool is well integrated it can easily become a major time saver for the programmer. If a tool is not well integrated, programmers won't use it. Alas, there is little standardization here: few environments share the same framework for extension.

Glyphic analyzed the extension mechanisms of different development environments, and combined that with the functional requirements of a Perforce client. We designed a layered system, with a new extension abstraction that could allow an efficient implementation.

The result: An implementation of several plug-in components that achieves maximal code sharing: The Perforce code is completely generic, operating specific user interface code is share among all plug-ins on a given platform, and the code specific to each environment is minimal. This makes Perforce's code more maintainable.

Home | About | Projects | Free Stuff | News | Contact