Showing posts with label office. Show all posts
Showing posts with label office. Show all posts

Monday, November 08, 2010

Office Furniture: Start Simple and let it Develop as your Business Grows

email post

Office Furniture: Start Simple and let it Develop as your Business Grows

Of all the different types of

office supplies

furniture available, my favorite piece for a home office is a basic table. There is plenty of room for my computer and printer and other needed peripherals, a container for small items such as pens, I use book ends to control regularly accessed books, and then neatly place in accessible areas anything else that I often use. My “desk” does occasionally get unruly, but since it is all visible, I am forced to tidy it up, unlike a desk with drawers where you can keep your unruliness hidden away from visiting eyes.
As you start a new business, other than a table, there are only a couple of other pieces of office furniture that is necessary for a home office or small office space rented in town. The first is a shelf. The shelf is needed to keep other office supplies and reference materials, and like the table/desk, everything is visible and ergo, kept neat. The other necessary piece, and probably more important to have before a shelf, is a filing cabinet. With all the different business forms, it is best to keep them organized from the very beginning. This will help keep the state and federal tax commissions happy!
Home Office Furniture

Home Office Furniture

I would have to say though, that the one piece of office furniture that you cannot skimp on from the very beginning is a good office chair. Sit in a lot of different style chairs, you may be surprised what you find comfortable, play around with the knobs and buy the chair that fits you best. Find a chair that you can sit in for long periods of time, if not, you will not get your work done and your business may be doomed to fail from the beginning. So I repeat, DO NOT skimp on an office chair, get the one that works best for YOU! It will pay for itself in the long run.
Let us naturally assume that you are successful with your budding business, and before long you are moved into a bigger space and have hired a couple of employees. It is now time to get serious about purchasing office furniture. The first thing you want to do is think ahead. What will you need down the road, how do you want your office space to develop as your business grows? If you plan now, you will save money in the future. Modular office furniture is a wonder. You can buy what you need now, but easily add on to it at a later date when your needs have changed or grown.
With employees and business meetings you may want to invest in a conference table. Great for weekly planning meetings with employees, it keeps everybody accountable and focused on your business goals.
Besides employees, your own needs have changed in the way of office furniture. Perhaps now you have a proper desk with a hutch on one side and extra work space on the other. You have a nice and comfortable guest chair for visiting business men and vendors. You want your office to look nice. There are extra touches with nice prints on the wall, classy lamps and lighting that add a nice ambient feeling to the room, and perhaps a nice coat rack by the door.
Yes, you have come a long way since you started your business, and just one place it is reflected is in your office furniture. Gone is the second hand filing cabinet and shelf, replaced by quality furniture that reflects who your are and makes a statement about your business. But lets face it, you couldn’t get rid of your first “desk”. The table still sits in the corner, a great work surface for various projects around the office. You glance at it often, it as a fond reminder of how you got started.

Friday, October 29, 2010

How to Uninstall/Remove Office 2007 SP2 with Office 2007 SP2 Uninstall Tool

email post

How to Uninstall/Remove Office 2007 SP2 with Office 2007 SP2 Uninstall Tool

Microsoft had released Office 2007 Service Pack 2 on April 28. Many users would have already installed Sp2 for Microsoft office 2007. Office 2007 Service Pack 2 is expected to boost performance but it may not the case for you. You may find various issues after installing office 2007 sp2.
If you are looking for way to uninstall and remove office 2007 Service pack 2 then here is Office 2007 Service Pack 2 Uninstall tool provided by Microsoft. This is official tool to uninstall and remove Service pack 2. The 2007 Office SP Uninstall Tool is designed to uninstall all the patches associated with Office 2007 SP2.

How to Uninstall and Remove Office 2007 Service Pack 2

1. Download Office 2007 SP2 Uninstall tool
2. Double Click on office2007spuninstall.exe. Accept the terms and click Continue.
3. Make a new folder called oarpman at the root of C drive and click OK.
Create Folder oarpman
4. Now Press win+r  and type cmd at run command
For Windows and Vista Windows 7 Click Start > All Programs > Accessories. Right-click Command Prompt and click “Run as Administrator”
5. OARPMAN needs a release name to start the uninstall. To get it, type the following in your command prompt window: c:\oarpman\oarpman.exe /report and press Enter.
Office 2007 Service Pack 2 Uninstall Tool

6. To start the uninstall of SP2 type the following in your command prompt window: c:\oarpman\oarpman.exe /remove O12SP2 (replace O12SP2 with your release name) and press Enter. This process may take some time to complete.
Uninstall Office 2007 Service Pack 2
That’s it. Service Pack 2 is uninstalled, and Office 2007 is reverted back to a patch state prior to SP2 being installed.

Tuesday, August 31, 2010 - Download Beta Release

email post
Reactions: 3.3.0 Beta 1 - untested full installation sets

Related Topics:

Disclaimer: The software in the following table is feature complete and with included localization but can contain issues. Detailed tests needs to be done. Therefore it cannot be seen as a released build and it is not recommended to deploy in a production environment. However, you are invited to use and test these builds. Please report any possible issues. For more information visit the homepage of the particular localization team.
¹ Developer Builds for MacOS PPC were created by Nakata Maho. As they are available some days later please be patient until the links are working. Linking was done with our friendly cooperation.

The names do not refer to countries.
Linux 32-bit
Linux 32-bit
Linux 64-bit
Linux 64-bit
Mac OS
Mac OS
English (US)English (US) exe rpm deb rpm deb dmg dmg pkg pkg

Wednesday, August 04, 2010 3.2.1 RC 2 released

email post

no English version yet, so download the stable one for now! You can actually give up Microsoft Office with this nice free tool~!

Download Full Installation Sets

Wednesday, July 28, 2010

open office hack

email post

My first hack

So - we've built and run OO.o, and we want to prove to ourselves that it is in fact possible to hack on it. So in a new terminal do this:
cd build/src680-m66
. ./
cd vcl
Now have a hack at vcl/source/window/menu.cxx (Menu::SetItemText); (near line 1770) I suggest manually applying this change:
-               pData->aText = rStr;
+               pData->aText = String(rStr).Reverse();
Then save. ( You can find more sensible things to hack in the Tutorials )
You're still in vcl/ yes ? then type 'build debug=true'; wait for the scrolling text to stop; (5 seconds?). Now re-run soffice -writer. You should notice the effect in the menus. If not, ensure the previous soffice.bin was dead with killall -9 soffice.bin
Note: for day to day hacking you want to just run 'build' inside the source tree. It is also highly recommended to work inside a copy of the build tree, and generate / test patches in an un-hacked version. To copy just the build/src680-m66 directory elsewhere, you need to use the relocate tool.
There is also documentation here on it.
deliver, deliver.log and prj/d.lst The syntax of d.lst is more comprehensible than build.lst, it omits some default actions, such as copying build.lst into
inc/<module>/build.lst. A line is of the form:
       [action]: [arguments]
       mkdir:    %_DEST%\inc%_EXT%\external
where if '[action]:' is omitted, it defaults to the 'copy' action. Typical actions are copy, mkdir, touch, hedabu, dos and linklib.
The 'hedabu' action is particularly interesting, inasmuch that it cosmetically re-formats the header to shrink it on install and adds the module name to the include path (#include "my_header.hxx" becomes #include <my_module/my_header.hxx>). Otherwise it's much like the copy action.
     During the action, various macro variables are expanded some of which are:
  •  %__SRC% — distribution directory name eg.</li>
  •  %_DEST% — absolute path into solver eg. /opt/OpenOffice/OOO_STABLE_1/solver/641/
  •  %_EXT% — (unusual) way of having minor updates eg. 641.1, typically used to version every base sub-directory.
Typically then, if indeed you need to add a rule (cf. implicit directory copies), it will be of the form:
       ..\%__SRC%\inc\sal\*.h %_DEST%\inc%_EXT%\sal\*.h
NB. relative paths are relative to the 'prj/' directory.
Sometimes you might run into the situation where you'd like to remove the delivered files from solver. Your configuration might have changed and they are no longer needed. "deliver -delete" does just that, however you might still need to delete "deliver.log" files manually as well.

Can I get a char *, please?

Just barely. OO.o has at least six string wrappers, although the C implementations are of little interest:
  • rtl_String — sal/inc/rtl/string.h
    "Normal" string plus reference counting. rtlstring->buffer is useful, as is rtlstring->length. This object encapsulates an generic 8bit string - of unknown encoding. Feel free to treat rtlstring->buffer as your beloved char *. If you really want to look at the implementation of some rtl_String function and lxr nor grep can help you, have a look at sal/rtl/source/strtmpl.c.
  • OString — sal/inc/rtl/string.hxx
    Simply a rtl_String wrapped inside a class; you can use ostring.pData to get at the rtl_String (it's public). OString has reasonably useful methods for if you need them.
  • rtl_uString — sal/inc/rtl/ustring.h
    "Normal" Unicode string, similar to rtl_String, and refcounted as well. However, this one always comes in UCS-2 encoding, presumably to be compatible with Java's questionable choices. See rtl_String above to find where the implementation of some rtl_uStringfunctions is hidden.
  • OUString — sal/inc/rtl/ustring.hxx
    An rtl_uString wrapped inside a class. This is what most of the OO.o code uses to pass strings around. To convert an OString to an OUString it is necessary to specify the character set of the OString see; sal/inc/rtl/textenc.h — the only interesting case is RTL_TEXTENCODING_UTF8
  • String — tools/inc/string.hxx
    This is an obsolete string class, aliased to 'UniString'. It has a number of limitations such as a 64k length limit. You can have the buffer with GetBuffer(), but it's Utf-16 encoded.
A couple of conversion functions are really useful here, particularly:
rtl::OString aOString = ::rtl::OUStringToOString (aOUString, RTL_TEXTENCODING_UTF8);
And the reverse:
rtl::OUString aOUString = ::rtl::OStringToOUString (aOString, RTL_TEXTENCODING_UTF8);
If you just want to programattically print out a string for debugging purposes you probably want define a macro like :
and use it like :
printf ( "SvXMLNamespaceMap::AddIfKnown : %s / %s\n", CHAR_POINTER(rPrefix), CHAR_POINTER(rName) );.
For the obsolete String class, aliased UniString, it's like :
printf ( "rGrfName : %s\n", ByteString( rGrfName, RTL_TEXTENCODING_UTF8).GetBuffer() );
To print the value of rtl::OUString directly in the debugger, you can use dbg_dump(). It is intended to be called interactively from the debugger, in both debug and non-debug builds of OOo. You can see the definition in sal/rtl/source/debugprint.cxx.
Some code snippets about manipulating those objects can be found on the codesnippets service page : [1]

Linkoo & Limitations

Linkoo is the tool that implements the -l functionality of bin/ooinstall. It essentially sym-links files of similar names into your local tree, allowing a fast development iteration.
It is however slightly limited - some of the modules cannot be linked for various reasons; these are: cppuhelper and configmgr, thus in the rare case that these are altered, they must be copied manually into /opt/OOInstall/program.
In addition symlinks cannot be used for soffice.bin, and this is more commonly altered - it has to be installed from desktop/ NB. with an appended '.bin'

Read the Fine manual

With the power of C++ comes the ability to shoot yourself in the foot all the more easily; (and implicitly), cf. Holub, Rules for C and C++ programming, McGraw-Hill, 95.
The best way to prepare yourself for battle is to read the OpenOffice coding guidelines, and for the easily confused c'tor / d'tor is short for constructor / destructor.
Also, there's an extensive list of recommended literature about C++ - but that's of course no prerequisite to start coding.

Sending patches

The toplevel structure of the OO.o source code is not the same as the layout of the CVS repository [ a good rational for this strange state of affairs is absent ]. Thus to work out what real module a file is in you need to do eg.
       cd binfilter
       cat CVS/Repository
This shows you that the 'binfilter' directory is part of the 'framework' project.
These days there is a hackers bug filing page that will assign bugs to the correct project, and the correct owner to get rapid attention.

Starting the right app

As you start soffice.bin, there are several useful parameters to use to accelerate your debugging experience; particularly -writer, -calc, -draw, and (the wizardly painful) -impress arguments.

Understanding D' make (man)

While the build system is in similar to many other systems, it is also perhaps slightly different. The overview is that each module is built, and then the results are delivered into the solver. Each module builds against the headers in the solver. Thus there are a few intricacies.
  • build — this perl script solenv/bin/ is used in conjunction with prj/build.lst to ensure that every module that is needed is built first.
    build then un-winds internal module dependencies, and builds each module with a chdir, dmake pair.
  • deliver — this perl script solenv/bin/ installs headers, and libraries (etc.) into the solver, as informed by prj/d.lst. Crucially deliver ensures that the date stamp on any file that is installed to the solver is the same as that in the module's directory. This ensures, that (particularly for headers) that there is no dependency cascade triggering re-builds in other modules.

Standard directories

There are various standard directories and files in most of the modules that make up OO.o, here are some of the more useful:
  • prj
    • build.lst — this lists directories to be made, '^#' comments are allowed, the order of the list is immaterial see detail, it is dictates build's operation.
    • d.lst — this file describes the deliver process, see detail.
  • util — typically the util directory is charged with glueing together the sub-libraries for each sub-module into a single large library, adding system library dependencies, building GUI resource files etc. All the work is described in, this is usually the last directory to be built in a project.
  • inc — public headers are typically separated into an 'inc' directory, these will be installed into the solver by the 'deliver' phase (using prj/d.lst)
Build's mode of operation is to invoke 'dmake' in each of the projects' directories with a given dependency order. dmake then executes the rules in


On first view build.lst looks scary:
vc      vcl : NAS:nas FREETYPE:freetype psprint rsc sot ucbhelper unotools sysui NULL
vc      vcl                      usr1   -       all     vc_mkout NULL
vc      vcl\source\unotypes      nmake  -       all     vc_unot NULL
vc      vcl\source\glyphs        nmake  -       all     vc_glyphs vc_unot NULL
vc vcl\mac\source\src  nmake - m vc__srcm vc_unot NULL
vc vcl\util   nmake - all 
vc_util vc__plug.u vc__appa.u vc__appm.m vc__appu.u vc__appw.w vc__gdim.m 
vc__gdiu.u vc__gdiw.w vc__srcm.m vc__srcu.u vc__srcw.w 
vc__wina.u vc__winm.m vc__winu.u vc__winw.w vc__du.u 
vc__gtka.u vc__gtkw.u vc__gtkg.u vc__kde.u vc_app 
vc_ctrl vc_gdi vc_hlp vc_src vc_win vc_glyphs NULL
so we need to try and un-pack what's going on here, which is in fact not as odd as it might seem at first glance. Firstly lists are terminated by the 'NULL' string. Every line is prefixed by a shortcut which has to be unique, no two modules are allowed to have the same shortcut.
  • First active line contains a ':', this describes the fact that this project (vcl) depends on these other modules 'nas', 'freetype', 'psprint' etc. to be built first. This is for inter-project dependencies.
  • Some modules have a CAPITALS:lowercase arrangement; the first segment is a conditional, driven by a space delimited list in the BUILD_TYPE environment variable at build time.
  • Then we have a redundant line 'usr1' [ for fun ? ], in fact only lines containing the magic string 'nmake' are valid after this.
  • The next lines describe internal project directory dependencies and look like:
    [shortcut] [path to dir to build] nmake - [flags] [unique-name] [deps...] NULL
    vc           vcl\source\glyphs    nmake -   all     vc_glyphs   vc_unot   NULL
    shortcut is not used; flags determines which platforms this builds on; usually single char platform codes: 'dnpum' 'u' being Unix. The higher up the system, the more stuff is flagged 'all'.
    unique-name this is a magic name, used by other lines to describe an internal dependency. deps... any number of names of other directories in this file, that must be built before this one. If such prerequisite dir is built for special platforms only, the platform code has to be appended to its magic name.
So we see in the vcl case that vcl\source\unotypes (vc_unot) has to be built before vcl\source\glyphs (vc_glyphs). For Mac vcl\mac\source\src (vc__srcm) has to be built before vcl\util (vc_util) It is important to understand that the order of the list is ~immaterial, and instead of a simple ordered list, we have a more complex internal dependency system — this contrasts with most other make systems.

Monday, July 26, 2010 3.2.1

email post
A new release is finished. Version 3.2.1 is now available for download.

Download now!

Start downloading 3.2.1 for Windows in English (GB)
(Java Runtime Environment (JRE) included for all OS versions except Linux 32/64-bit Debian and Mac OS)
Get all platforms and languages | Release Notes | MD5 checksums | ISO images

Getting started with OOo development

You are at the start of a long, but very exciting journey! is a large and inclusive project. No matter what your interests are, there is always a place for you here. There are many ways to get started, but the easiest one is to:

Get the source code and start building

Build you own so that you are able to modify things
Image:Tip.png The Building Guide will walk you through this.

Fix a bug or an annoyance

Pick up your favorite bug/annoyance, and try to fix that. Read how to Contribute a patch via Issue Tracker.
Image:Tip.png Browse [Top voted issues] or review our To-Dos list that presents the key issues of interest to the core components

Contribute more

When you see that hacking OOo pleases you, it's time to look for bigger tasks, get in contact on IRC or on the mailing list: The list is friendly and supportive; the people want to help.

Create an extension

Exensions are easy to write and fun to see in action. You can add features that millions of others will use by using Java, Python, StarBasic, or JavaScript. Find more on Extension development wiki page. The UNO component model is quite extensive and can be daunting at first. To help you, there is a comprehensive Development Guide. The easiest way to get started is by using the plugins for Netbeans and for Eclipse. Plus, you can get help from

Development resources

Further reading

Education project

Image:Tip.pngIf you don't find the instructions in the Wiki good enough to guide you or if you are interested in some aspect that is not covered, feel free to subscribe and ask on the mailing list. See Communication for more infromation on how get in touch with the project.

Image:Tip.pngAnother solution is to contact the Education Project, which aims to find future developers, mainly students, who are discovering Project. The dedicated Education Project channel is: on freenode

Image:Tip.pngOn the ClassRoom page, you will find more information about the essentials. For example Practice, or IRC Meetings Logs we did as "ClassRooms".