<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Workplace_Shell</id>
	<title>Workplace Shell - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Workplace_Shell"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Workplace_Shell&amp;action=history"/>
	<updated>2026-04-19T19:34:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Workplace_Shell&amp;diff=406192&amp;oldid=prev</id>
		<title>imported&gt;Hungariantoast: Pretty sure &quot;object-oriented&quot; refers to the UI paradigm specifically, not OOP generally</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Workplace_Shell&amp;diff=406192&amp;oldid=prev"/>
		<updated>2025-02-16T00:55:48Z</updated>

		<summary type="html">&lt;p&gt;Pretty sure &amp;quot;object-oriented&amp;quot; refers to the UI paradigm specifically, not OOP generally&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{refimprove|date=March 2013}}&lt;br /&gt;
[[Image:Os2-2.0-wps.png|right|thumb|OS/2 2.0, showing the first version of the Workplace Shell]]&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Workplace Shell&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;WPS&amp;#039;&amp;#039;&amp;#039;) is an [[Object-oriented_user_interface|object-oriented]] desktop shell (also called [[desktop environment]]) produced by [[IBM]]&amp;#039;s [[Boca Raton, Florida|Boca Raton]] development lab for [[OS/2]] 2.0. It is based on [[IBM Common User Access|Common User Access]] and made a radical shift away from the [[Program Manager]] type interface that earlier versions of [[OS/2]] shared with [[Windows 3.1x|Windows 3.x]] or the application-oriented [[WIMP (computing)|WIMP]] interface of the [[Apple Macintosh]]. The Workplace Shell was also used in OS/2 Warp 3 and Warp 4, and the OS/2-based operating systems [[eComStation]] and [[ArcaOS]].&lt;br /&gt;
&lt;br /&gt;
IBM originally intended to deliver the Workplace Shell as part of the [[IBM OfficeVision|OfficeVision/2 LAN]] product, but in 1991 announced plans to release it as part of OS/2 2.0 instead.&amp;lt;ref name=&amp;quot;Desmond1991&amp;quot;&amp;gt;{{citation|last=Desmond|first=Paul|title=IBM refocuses office tool|url=https://books.google.com/books?id=fBIEAAAAMBAJ&amp;amp;pg=PA51|volume=8|date=1 July 1991|publisher=International Data Group|work=[[Network World]]|page=51|issue=26|issn=0887-7661|quote=IBM last week said some features originally scheduled to ship in OfficeVision/2 LAN will be bundled into the current release of the product, while others will be either integrated into OS/2 or delayed indefinitely... IBM&amp;#039;s Workplace Shell, an enhanced graphical user interface, is being lifted from OfficeVision/2 LAN to be included in OS/2 2.0... The shell offers the capability to trigger processes by dragging and dropping icons on the desktop, such as dropping a file into an electronic wastebasket. Porting that feature to the operating system will let any application take advantage of the interface...}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although  mostly written in [[C (programming language)|C]], under the covers the Workplace Shell is implemented as an object-oriented class library, basing on the [[IBM System Object Model|System Object Model]] (SOM). The WPS classes are glued together with an [[Interface description language|interface definition language]] (IDL). SOM and its IDL was developed by IBM in their [[Austin, Texas]] lab.&lt;br /&gt;
The classes can easily be manipulated by sending simple settings strings (like &amp;quot;KEYWORD=VALUE;&amp;quot;) to them both via a C and a [[REXX|Rexx]] [[Application programming interface|API]].&amp;lt;ref name=&amp;quot;WorkplaceShellRedbook&amp;quot;&amp;gt;{{cite book | url=https://www.redbooks.ibm.com/redbooks/pdfs/gg244201.pdf | access-date=March 25, 2013 | date=May 12, 1994 | title=OS/2 Configuration Techniques: &amp;quot;Cracking&amp;quot; the Workplace Shell | series=IBM Redbooks | publisher=IBM Corporation, International Technical Support Organization | author=Oscar Cepeda | isbn=9780738405742 | archive-url=https://web.archive.org/web/20050504012447/https://www.redbooks.ibm.com/redbooks/pdfs/gg244201.pdf | archive-date=4 May 2005 }}&amp;lt;!-- Abstract http://www.redbooks.ibm.com/abstracts/gg244201.html | https://archive.today/20130411033556/http://www.redbooks.ibm.com/abstracts/gg244201.html --&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;OS/2WorkplaceShellAPI&amp;quot;&amp;gt;{{cite book|title=OS/2 Workplace Shell API|author=Mindy Pollack|editor=Marc A. Stock|isbn=9780471038726 |year=1995|publisher=Wiley|location=New York}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When implementing a new WPS class, it is derived from an existing class from within the WPS class hierarchy. For modifying, extending or removing certain functionality of the parent class, often only a few methods of the parent class need to be overwritten by the developer. All other functionality of the parent class can safely remain unchanged, ensuring the seamless integration of the added or modified functionality and with that the consistency of the remaining user interface.&lt;br /&gt;
&lt;br /&gt;
The resulting object class is shipped in [[Dynamic-link library|DLL]] form. Once the new object class implemented by it is registered with the Workplace Shell and an instance of this class is created, it can be acted on by the user or other programs as every other Workplace Shell object. &lt;br /&gt;
&lt;br /&gt;
A part of the WPS design allows for the developer of a class Y which extends or modifies a class X to execute an additional [[API]] on installation which will let the WPS &amp;#039;replace&amp;#039; class X by class Y. This will make even all existing instances of class X behave as instances of the modified class Y; i.e., almost a retroactive [[Inheritance (object-oriented programming)|inheritance]]. This allows for many useful third-party desktop utilities that add or modify functionality to or of existing objects without access to IBM&amp;#039;s source code. Where the IDL and class headers also of derived classes are published, these classes can as well be extended in turn in the same way.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Shadow (OS/2)]]&lt;br /&gt;
* [[Workplace OS]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* A well-known free and open source Workplace Shell extension package named [http://xworkplace.netlabs.org xWorkplace] (for extended workplace) makes widely use of class replacement, introducing many new features to the user interface.&lt;br /&gt;
* [http://www.osfree.org/ osFree], which seeks to entirely reimplement OS/2 as free software.&lt;br /&gt;
* For OS/2 and eComStation developers, the [http://wpstk.netlabs.org Workplace Shell Toolkit] eases common programming tasks when creating WPS classes, as well as for plain [[Presentation Manager]] programming.&lt;br /&gt;
* [http://distro.ibiblio.org/amigolinux/download/DeskTop/IconMgmt/dfm-0.99.9/kaisersite.dedfm.html DFM] (Desktop File Manager) is a Linux file manager for the [[X Window System]], inspired by the WPS.&lt;br /&gt;
* [http://toastytech.com/guis/wps.html Workplace Shell for Windows] is a freeware clone of the WPS made for Windows unofficially by IBM employees.&lt;br /&gt;
* [http://ftp.gaby.de/pub/win3x/wpsfw151.zip Download Workplace Shell for Windows]&lt;br /&gt;
* [http://www.os2ezine.com/v1n6/wps4win.html OS2eZine Article: WPS for Windows v1.51]&lt;br /&gt;
* [https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014706678 Download Workplace Shell for Windows 1.51 Source Code]&lt;br /&gt;
&lt;br /&gt;
{{OS/2}}&lt;br /&gt;
&lt;br /&gt;
[[Category:OS/2|Workplace Shell]]&lt;br /&gt;
[[Category:Desktop environments]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Hungariantoast</name></author>
	</entry>
</feed>