text: Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 Teamware-Exchange Migration 1 INTRODUCTION ............................................................................................................ 3 2 VERSIONS HISTORY .................................................................................................... 4 2.1 VERSION 4.3.................................................................................................................... 4 2.2 VERSION 4.2.1................................................................................................................. 4 2.3 VERSION 4.2.................................................................................................................... 4 2.4 VERSION 4.1.................................................................................................................... 4 2.5 VERSION 4.0.................................................................................................................... 4 2.6 VERSION 3.5.................................................................................................................... 5 2.7 VERSION 3.4.................................................................................................................... 5 2.8 VERSION 3.3.................................................................................................................... 6 2.9 VERSION 3.1.................................................................................................................... 6 2.10 VERSION 3.0.................................................................................................................... 6 3 THE MIGRATION TOOL .............................................................................................. 8 3.1 INSTALLATION ................................................................................................................ 8 3.2 OBTAINING LICENSES ..................................................................................................... 8 3.3 OVERVIEW ...................................................................................................................... 9 3.4 APPLICATION MENU ........................................................................................................ 9 4 PREPARATIONS FOR IMPORT ................................................................................ 11 4.1 PREPARING TEAMWARE OFFICE.................................................................................... 11 4.2 GENERATING TEAMWARE DUMP FILES .......................................................................... 11 4.2.1 Dump files for annotations and green marks ....................................................... 12 4.2.2 Notes for multi-site configurations ...................................................................... 12 4.3 PREPARING EXCHANGE ................................................................................................. 12 4.4 PERFORMANCE CONSIDERATIONS ................................................................................. 13 4.4.1 Using a ramdisk for temporary files .................................................................... 13 4.4.2 Performance and error counters for Mail migration .......................................... 14 4.5 CONFIGURING APPLICATION AND LOADING DUMP FILES ............................................... 14 4.6 DEFINING BATCHES ....................................................................................................... 15 4.7 CHANGING BATCHES NAMES AND TARGET OU ............................................................. 15 4.8 VIEWING USERS PROPERTIES ......................................................................................... 15 4.9 SETTING EXCHANGE USERS INFORMATION.................................................................... 16 4.10 MESSAGES WITH MANY RECIPIENTS .............................................................................. 17 4.10.1 Setting limits on recipients numbers .................................................................... 17 4.10.2 Filtering out e-mail subjects ................................................................................ 17 4.11 RESETTING TEAMWARE PASSWORDS ............................................................................ 18 4.11.1 Notes for multi-site configurations ...................................................................... 18 4.12 DELETING DATA FROM WORK DATABASE ...................................................................... 18 5 PERFORMING IMPORT ............................................................................................. 19 5.1 OVERVIEW OF THE MIGRATION PANEL .......................................................................... 19 5.2 LOG FILES ..................................................................................................................... 20 5.3 BEFORE IMPORTING USERS ............................................................................................ 21 5.4 SETTING HOW MAILBOXES URLS ARE BUILT ................................................................ 21 5.5 RESETTING AD PASSWORDS ......................................................................................... 22 5.6 IMPORTING USERS AND MAILBOXES ACTIVATION .......................................................... 22 5.7 USERS AND ACTIVATION WHEN USING ADMIN CREDENTIALS ........................................ 23 5.8 ROLLBACK USERS ......................................................................................................... 23 -1- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 5.9 IMPORTING GROUPS ...................................................................................................... 23 5.10 IMPORTING PERMISSIONS .............................................................................................. 24 5.11 IMPORTING RTF BODIES FOR MAIL AND CALENDAR..................................................... 25 5.12 IMPORTING MAILBOXES ................................................................................................ 26 5.12.1 Unresolved mail recipients .................................................................................. 26 5.13 IMPORTING CALENDARS ................................................................................................ 26 5.13.1 Attention points for Calendars import ................................................................. 27 5.14 IMPORTING PABS (PERSONAL ADDRESS BOOKS) ........................................................... 28 5.14.1 PAB groups imported as groups or categories .................................................... 29 5.15 IMPORTING ALL ............................................................................................................ 29 5.16 SAVING AUTO-FORWARDING RULES .............................................................................. 30 6 COMMAND-LINE PARAMETERS ............................................................................ 32 7 APENDIX A: CONFIGURATION FILE PARAMETERS ........................................ 33 -2- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 1 Introduction The present document describes the migration application and procedure for moving from Teamware Office to Microsoft Exchange. In brief, the steps of the migration are: 1. Prepare Teamware Office and the needed dump files. 2. Configure the migration application and load the dump files into the local work database. 3. Group the users to be migrated into import batches and (optionally) specify mail subjects that should not be imported into Exchange. 4. Reset the user passwords in Teamware Office. 5. Import the users, optionally setting additional Exchange information for users. 6. Import mailboxes permissions and calendar permissions. 7. Import groups. 8. Import mailboxes. 9. Import calendars. 10. Import personal address books The steps 2 to 9 are accomplished using the migration tool. The imported information is divided in two main categories, based on how the information is migrated: - Information that is migrated on-line, meaning that the migration tool connects to the Teamware server, fetches the information, processes it and then loads it into Exchange on the fly. This applies to Mail items and Calendar appointments. - Information that is migrated off-line, meaning information that is saved in Teamware dump files which are then loaded into the application"s work database (MS Access) for later use. This applies to: organization units, users details and permissions (mailboxes, address books and calendars), personal address books and groups (public and private). There are two reasons for using off-line data loaded into a local work database. First, it speeds up the migration process by having certain information pre-processed and more readily available. Second, certain types of information can"t be accessed on-line with the Teamware Link API and therefore they need to be read from dump files. Note that the application must always be run from the computer where Microsoft Exchange is stored – this is a restriction imposed by the CDOEX library. -3- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 2 Versions history 2.1 Version 4.3 - Migration of mail attributes "importance", "sensitivity", "priority"; also the "replied" flag and "unread" flag (if set the first time when migration tool is run). - Migration of mail annotations and green marks. - Migration of appointments attendees status (confirmed, unconfirmed, declined). - Improved speed for loading PAB files. - Improvement handling of appointments even when the Teamware API can't access the appointment details and/or the list of attendees. - New log file listing the appointments which were not migrated or where migrated only partially. - Optional migration of RTF bodies for e-mails and appointments, see new setting rtf_threshold. 2.2 Version 4.2.1 - New settings for calendar migration, see: calendar_on_first_att_only, cale_import_mode. 2.3 Version 4.2 - Extended permissions migration. Now migration of PAB permissions is supported too. The importing of all permissions is now done in a single step (it used to be separate for mail and calendars). See section 5.10 Importing permissions for details. - Improved recipients resolution for e-mails and logging of unresolved recipients, if any are encountered (see section 5.12.1). - Minor bugfixes and improvements in loading of PAB entries. 2.4 Version 4.1 - Introduced the import_recips_under and import_recips_over parameters for controlling the handling of e-mails with many recipients. See section 4.10 Messages with many recipients for details. - Introduced the configuration parameters skip_mail_folder, skip_to_mail_folder and skip_mail_messages, see the appendix at the end of this document for details. 2.5 Version 4.0 This version brings mostly performance improvements, by using more in- memory operations and by allowing the usage of ramdisks for temporary files. General stability and error handling have been improved as well. -4- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - Temporary files are used only for attachments; other items (e.g. mail bodies) are stored only in memory, for improved speed. - It is possible to use a ramdisk as a temporary location, leading to significant performance gains - see section 4.4.1 Using a ramdisk for temporary files for details. - Temporary files cleanup is done more aggressively now, to minimize the risk of filling up the temporary disk. - During the Mail migration the application summarizes the performance indicators and the counters for the items migrated OK or with errors. This information is recorded both in the normal log file, as well as in a separate file, with an extension .stat.txt, showing the results for each user. - It is possible to migrate items created within a specified interval, using the settings import_date_min and import_date_max. - If the importing of an item in Exchange fails because of a timeout error, the import of that item will be automatically re-tried. - New settings have been introduced in config.ini: o temp_path: allows specifying the location of the directory for the temporary files. o skip_activation_checks: don"t perform the activation checks at the beginning of each migration operation. o import_date_min, import_date_max: only import mails and appointments created between these dates. 2.6 Version 3.5 Main changes: It's possible to import External Entries when they are referenced from PAB groups. Certain operations can be launched from the command line. Specify Teamware passwords in Exchange export/import file. Specify the target Exchange Mailbox store, see exchange_store option in config.ini. 2.7 Version 3.4 From this version it is possible to control how private groups (from the personal address books) are imported in Exchange: as groups or as categories. New configuration option: groups_as_categories = yes/no. See section 5.14.1 for details. Before and after each major data load, the database is compacted and optimized. -5- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 2.8 Version 3.3 Since version 3.3 it is possible to define how the Exchange mailboxes URLs are composed. This can be done for the overall application and for individual users. See section 5.4 Setting how mailboxes URLs are built for details. IMPORTANT: If you are using a database from a previous version, you have to run the following 2 queries in Access: alter table import_users add column exchMailboxURI text(250) NOT NULL exchMailboxURI_index update import_users set exchMailboxURI="" Also add the new options exchange_uri_mode and exchange_uri_domain to config.ini 2.9 Version 3.1 - Additional checks for the login names for invalid characters, because the validation rules are different in Teamware and Exchange. - Three new configuration options: o default_base_address: the base address (domain) to use in e-mail addresses for accounts which don't have one, for example accounts created from resource calendars. o use_admin_credentials: 1 or 0 if to use Administrator credentials by default or not. o extended_logging: 1 or 0 if to put verbose information in the log during mailboxes and calendars import. If 1, it will list all e-mails and appointments processed. Added details about caveats in calendars import for attendees without a Calendar service. 2.10 Version 3.0 The version 3.0 introduces a number of major enhancements as well as significant changes in the export procedure. Most important enhancements are: Enterprise support: the tool can now be used in multi-site configurations Resource Calendars support: Resource Calendars can now be imported from Teamware Office into Exchange, as users. Attention points: - The list of required dump files has been modified, by adding dumps of sites, servers and services. - The dump file with organization units is not required, the organization hierarchy is loaded directly from the Enterprise Directory. -6- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - For the configuration file has some new options, while other options are not used anymore - check the list at the end of this document. - It is possible to specify how the mail folders should be imported: under Inbox or directly in the mailbox root. - When running an Enterprise (multi-server) setup, all the servers in all the sites need to be on-line and reachable. - If there are users with the same user name and/or login, they should be modified before doing the export, since they will be imported in the same Exchange server. - When resetting the Teamware passwords, you will have to repeat the procedure (using the same files) against each Site Master (EM or AM), by setting the respective IP addresses in the parameters file. - The database structure has been modified, so don't use databases from previous versions. - [3.3.06] o Added users_containers configuration option - [3.3.07] o Add placeholder sender/recipient info in e-mails if Teamware has lost that information (i.e. deleted users for which the e-mail address was not preserved by the system). o In export/import files with Exchange, new batches will be created instead of rejected. Also possible to specify target OU. o Loading of auto-forwarding rules doesn't stop on errors. -7- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 3 The migration tool 3.1 Installation There is no special installation required. The application is simply copied into the directory where it will run. It contains the following: - TWOExchangeMigration.exe: The actual migration application - config.ini: The configuration file - two_migration.mdb: The MS Access work database. It can be stored in any directory, as its location can be specified in config.ini - A set of Microsoft DLLs and Teamware DLLs (in the Teamware_DLL sub-directory) - A tmp sub-directory for temporary work files The Teamware Office clients need to be installed as well on the same machine, preferably version 7.3 or later. It's also a good idea to install Teamware Link from the same version of Teamware Office, and if needed copy the Teamware Link DLLs into the Teamware_DLL directory. If during migration you notice constant large amounts of errors in reading data from Teamware, there might be some incompatibilities with the Teamware DLLs. Please contact the application's author in this case (firstname.lastname@example.com). 3.2 Obtaining Licenses First time you will run the application, if you haven't obtained a license key already, you will be presented with a window with the information required for generating the license key. You can send the information through an on-line request directly from the application or by e-mail to the address indicated by the application. Once the developer receives the information, he will generate the required license key(s) and send them by e-mail, together with the instructions for applying the license key(s). Note that each license key is generated specifically for a Teamware Office and AD/Exchange server migration project. In case you do not receive the license key(s) by e-mail, please send an e-mail to email@example.com -8- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 3.3 Overview When launched, you will be presented with the main application window, which is divided into two panels. The left panel contains the list of batches and the right panel contains two tabs, with the batch properties and controls. The batches are basically groups of users which you define in order to make the import process easier to manage. All import operations (except for groups import) are performed at batch level. The list of batches in the left panel will show you all currently defined batches and the number of users they contain. At the top of the list there is a generic <Unassigned users> batch, which contains all users which have not been assigned to any batch yet. Batches are created and deleted using the two control buttons under the list of batches. When a batch is selected in the left-side list, the Batch properties tab in the right-side panel will be loaded with the batch information, the users it contains and the status of the import operations done so far. To perform the migration operations for the currently selected batch you need to select the Batch migration tab – which will be accessible only if the batch contains at least one user. The tab contains a number of buttons for starting various migration operations, which will be detailed later in this document. In brief, the operations you will make with the migration tool are: 1. Load the Teamware dump files in the work database 2. Group the users into import batches and set batches properties 3. (Optional but recommended) Check and select mail subjects to ignore. 4. Import data into Exchange, in this order: a. Users b. Public groups c. Mailboxes (e-mails) d. Calendars e. Personal address books f. Permissions Note that from version 184.108.40.206 it is also possible to run the import of mailboxes, calendars and PABs in a fully automatic manner. 3.4 Application menu At the top of the window there is a menu which contains: - File: Allows you do load the needed Teamware dump files into the work database -9- Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - Groups: Control the public groups and their import - Edit: Additional tools: o Show all users: View all users loaded in the work database and also allows setting Exchange logins, e-mails and passwords. o Problem subjects: Define which mail subjects should not be imported o Export users list: Export the list of users from local database to a tab delimited text file. o Import Exchange users list: Import Exchange login, e-mails and passwords from a tab delimited text file. o Reset Teamware passwords: Generate the control files which allow you reset the user passwords in the Teamware server o Save auto-forwarding rules: Saves into a TAB-delimited file the auto-forwarding rules imported from Teamware. o Set AD mailboxes rights: Grants to the administrator user special rights to all mailboxes (needed for importing mail and calendar permissions) o Revoke AD mailboxes rights: Revoke the rights given to the administrator for users mailboxes. o Delete all Exchange appointments: Clean all appointments from all Exchange calendars o Unload users data/Unload all data: Delete from the work database all data loaded from the Teamware dump files. - 10 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 4 Preparations for import 4.1 Preparing Teamware Office Before performing the migration, the Teamware check and repair tools should be run, in order to ensure that the Teamware database is in a consistent state and that all ownerless and deleted objects are actually removed from the database. The following tools are recommended to be used (in no particular order): - to recover all; to resume all: general checks and repair - toddump –f: cleanup and repair of Directory database - tomdump –c –s: cleanup and repair of the Mail database - tocdbchk: cleanup and repair of the Calendar database Obviously, like with any other Teamware utilities, these should be run in the Teamware installation directory and as Teamware user. Note that some of these tools (especially tomdump and tocdbchk) can take a long time to complete. 4.2 Generating Teamware dump files The following dump files should be generated and copied to the Exchange server where the migration tool will be run: - toddump –S > dump_sites.txt: Sites - toddump -R > dump_servers.txt: Servers - toddump -V > dump_services.txt: Services - toddump –U –u1 > dump_users.txt: Users (also contains permissions for address books and calendars) - toddump –U –u2 > dump_externals.txt: External entries from Directory - toddump -C > dump_rescale.txt: Resource calendars - toddump –A > dump_pab.txt; toddump –U –u7 >> dump_pab.txt: Personal address books (aliases and private entries respectively). Note that they are placed in the same file, since both types of object belong logically to the private address books. - toddump –G > dump_groups.txt: Groups – both public and private groups. - tomdump –B > dump_mailboxes.txt: Mailboxes and their permissions There is also an additional export for the migration of annotations and green marks, see the next section for details. - 11 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 4.2.1 Dump files for annotations and green marks The Teamware API doesn't have any features for fetching mail annotations or green marks, so the only alternative is to load them from a dump file, store the relevant data in the local database and then use during the normal e-mail migration. The following two commands need to be executed, the first dumps the data for received e-mails, the other for the sent e-mails: tomdump -M -e -s | grep -e "TM_O_MAIL_RECEIVER\[2411\] ObjId" -e "TM_A_OWNER_STR_DATA\[2007\]" -e "TM_A_OWNER_INT_DATA\[2006\]" > dump_mail_annotations.txt tomdump -I -e -s | grep -e "TM_O_IPM\[240f\] ObjId" -e "TM_A_OWNER_STR_DATA\[2007\]" -e "TM_A_OWNER_INT_DATA\[2006\]" >> dump_mail_annotations.txt IMPORTANT NOTE: For large mail databases, these commands can run for a very long time, from minutes to hours. It is very important to NOT interrupt them while running, otherwise you risk damaging the database. 4.2.2 Notes for multi-site configurations For multi-site setups repeat the above procedure in each Area Master and the Enterprise Master, then copy the files into separate directories on the Exchange server, for example: dumps_em, dumps_am1 etc. Then concatenate the files, for example by running: copy dumps_em\dump_sites.txt + dumps_am\dump_sites.txt dump_sites.txt copy dumps_em\dump_servers.txt + dumps_am\dump_servers.txt dump_servers.txt copy dumps_em\dump_services.txt + dumps_am\dump_services.txt dump_services.txt copy dumps_em\dump_users.txt + dumps_am\dump_users.txt dump_users.txt copy dumps_em\dump_externals.txt + dumps_am\dump_externals.txt dump_externals.txt copy dumps_em\dump_rescale.txt + dumps_am\dump_rescale.txt dump_rescale.txt copy dumps_em\dump_pab.txt + dumps_am\dump_pab.txt dump_pab.txt copy dumps_em\dump_groups.txt + dumps_am\dump_groups.txt dump_groups.txt copy dumps_em\dump_mailboxes.txt + dumps_am\dump_mailboxes.txt dump_mailboxes.txt These concatenated files will be the ones which you will load into the migration tool. 4.3 Preparing Exchange First, since the migration process will generate (and delete) a lot of items in Exchange, you should enable circular logging for the Storage Group, otherwise you will quickly fill up the disk space. If it is possible to disable logging altogether, that would be even better. - 12 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 The most intensive and time consuming operations will be the importing of mails and calendars items. These operations (which are performed both through CDOEX library and through WebDAV interface) are run in parallel threads to increase the speed. Therefore, if Exchange has such features, you should configure it so to maximize throughput for multiple concurrent sessions. Related to this, in the configuration file you can customize the number of maximum parallel threads to use. Before performing the migration, you can make a couple of trial runs on the actual import server to see which value gives the best overall performance for that specific server. Finally, since the migration application will need to create a large number of temporary files (especially for mail import), if the server has more than one physical disk then it would be better to run the migration tool on a separate disk from Exchange. 4.4 Performance considerations There are a number of things which can be done to improve the speed of the migration process: - In IIS Manager, disable the logging for the Exchange and ExchWeb virtual directories. - In config.ini use the extended logging only when needed for debugging. - If possible, place the directory of temporary files (temp_path) on a disk separate from the Exchange mailbox store. - Even better, if possible, use a ramdisk for the temporary directory – see the next section for details. - Try different values for the number of Exchange parallel threads until you find the optimum value for your own system. - You can divide the migration on time intervals, using the settings import_date_min and import_date_max. If the application encounters a problem, you will have to re-run only the affected interval instead of the whole database. 4.4.1 Using a ramdisk for temporary files A time consuming operation is the reading and writing of the attachment files on the disk. To improve speed, you can use a ramdisk for the temporary directory location – use the temp_path setting in config.ini. Make sure to make the ramdisk large enough, e,g, 256MB or more. One ramdisk tool which was tested with good results is: http://www.mydigitallife.info/2007/05/27/free-ramdisk-for-windows-vista-xp- 2000-and-2003-server/ - 13 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 4.4.2 Performance and error counters for Mail migration During the mail migration the application will keep track of the speed of the migration. The statistics will be written in the log after each migrated folder, showing the number of messages migrated OK, warnings and errors, as well as the speed, measured in items per minute and MB per minute. Additionally, a separate log file with the extenstion .stat.txt, with TAB separated values, will show the results for each migrated user. This can be used both for performance tuning, as well as checking how correctly the migration was done, if there were errors etc. 4.5 Configuring application and loading dump files The details of the configuration file will be presented in a separate appendix – but the values are pretty straight-forward. Use the File menu to load the dump files into the application. It is important to respect the order of loading the dump files: 1. Sites 2. Servers 3. Services 4. Users 5. Resource calendars 6. External entries 7. Personal address books (PABs) 8. Groups 9. Mailboxes permissions 10. PAB & Calendars permissions 11. Auto-forwarding rules 12. (Optional) Mail annotations and green marks Notes: - The PAB permissions, calendar permissions and auto-forwarding rules are loaded from the same file as the users (the one generated with tomdump – U –u1). - When importing Resource Calendars, this will also load automatically their permissions. - When loading the calendars permissions, this applies only to users calendars, since the permissions for Resource Calendars have already been loaded as mentioned above - although internally Users and Resource Calendars (and their respective calendar permissions) are stored in the same place. - 14 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 4.6 Defining batches The rules by which you group users in batches are entirely up to you. One option would be to group them by the organization unit. But whatever method you decide on, it would be advisable to keep the size of the batches within manageable limits (e.g. less than 100 or even less than 50 users per batch). This way you have more granularity control over the migration process. Note that Resource Calendars will be shown as users in the migration tool, since this is how they will be imported in Exchange. Therefore most operations for users apply to resource calendars as well. When you click the Select users button, a new window will open. In the left side you have a list with the users you loaded from dump files, grouped by their Teamware organization units. Also, at the top of the list, you have a special element which displays all the users. For the sake of flexibility, the application allows you to put in a new batch a user which was previously was in another batch – even if import operations have been started for any of the batches. But this should be done only if really needed. Clicking on any user name in the Available or Selected lists will display at the bottom of the window the properties for that user. After you selected the users you wanted for the batch, simply click the Save button. The modifications will be applied to the batch right away. There is also an alternative way of placing user in batches and for creating batches - see the section Setting Exchange users information for details. 4.7 Changing batches names and target OU In the right-side pane of the main window you can enter a new name for the batch and select the target OU. If any of these are modified, the Save batch and Cancel changes become active. The target OU designates the Organization Unit in Active Directory where the users from this batch should be imported. Every batch should have a valid target OU. To select a target OU, click on the button next to the Target OU text box (the small button with three dots on it). This will open a window in which you can browse the current AD tree. Note that all elements are shown in the tree – including users. When you identified the desired target, click on it in the AD tree and then click the Select button. Note that the new target is not saved in the database until you click Save batch in the main window. 4.8 Viewing users properties The menu Edit > Show users opens a window with the list of all loaded users showing the display name (user name), the login, the e-mail address and the current assigned batch for each user. - 15 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 This can be particularly useful because for many users the login name does not coincide with the e-mail address (mail nickname), which might become confusing in Exchange, as you have to use alternatively in different contexts. 4.9 Setting Exchange users information It is possible that some of the users to already exist in AD/Exchange before doing the migration, and they might even have different login name, mail nickname or password than what is set in the migration application. To solve this, the application allows you to define the associated AD/Exchange information for the imported accounts. You can do this also for users which don"t exist in Exchange yet but for which you want the imported information to be modified from what was in Teamware. Alternatively, you can choose to run the application using Admin credentials, in which case the Exchange passwords are not required anymore. However, you will still need to specify the Exchange login and mail nickname if they are different from Teamware. Specifying the Exchange login, mail nickname and passwords can be done in two ways: 1. By manually setting this information using the menu Edit > Show all users. If you double-click on a user you will get a window for editing the information. To make it easier to spot the differences, note that the Show all users window will show the Exchange information only if it is different from the Teamware information. 2. By loading the Exchange information from a file. For the second method, use the menu Edit > Export users list to export the current list of users from the application (will also include Exchange information where specified). The file is tab delimited and contains the following columns: user display name, Teamware login, Teamware mail nickname, Exchange login, Exchange mail nickname, Exchange password, batch, target OU. You can open this file directly in Excel for editing, preserving the text format. You can also save it as an Excel file if you want to distribute it with formatting, and when you are finish with the modifications save it again as tab delimited text file. The file with the updated Exchange information is imported with the menu Edit > Import Exchange users list. After importing it, use the Show all users window to check if the information has been loaded Ok. Note that you can specify batch names in the file, so when the file is imported the users will be placed in those respective batches. If the batch didn't exist before, it will be created. - 16 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 You can specify the target OUs for the batches. It's enough to specify it only for one of the users in a batch. If for a batch there are two OUs specified, the last one in the file is considered. Teamware passwords can also be specified in this file for some or all accounts. Where defined, these passwords will override the default Teamware password specified in config.ini. 4.10 Messages with many recipients Messages with very large numbers of recipients are retrieved slowly through the Teamware API. To avoid slowing down the whole migration because of them, there are two options, described in the following sections. In many cases such e-mails don"t really need to be imported. They are either periodic informative bulletins (which are better stored in Exchange public folders) or company notifications for certain events, e.g. planned network maintenance work which are not useful anymore. 4.10.1 Setting limits on recipients numbers The first method involves using the configuration parameter import_recips_under. If it has a value greater than 0, any message with more than the number of recipients specified in this parameter will be imported without the recipients list. If you want, you can re-import these messages on a later phase, by using the configuration parameter import_recips_over, which makes that only messages with more than the specified number of recipients will be imported, the rest will be ignored. The stats log file has two columns corresponding to these two configuration parameters, so you can see how many messages, if any, were affected. This is useful if you specified import_recips_under in a first phase and you want to see for which users you need to run a second phase with import_recips_over. 4.10.2 Filtering out e-mail subjects The second option relies on determining the subjects for the messages with large numbers of recipients and ignoring those messages. To do this, click the menu Edit > Problem subjects. If you press Check mailboxes, the application will find all the emails with over 100 users. Note that this operation will take a while to complete, because it has to read all e-mails, from all mailboxes. It actually has to do it twice: first to find all mails with more than 100 recipients and the second time to see if there are mails with the same subjects but with less than 100 recipients. Fortunately, this operation needs to be run only once, because the list of subjects and their respective counters is saved to the work database. After the list of subjects and recipients is generated, you can specify which ones of them you want to ignore – which means that any e-mail with that subject will not be imported from Teamware Office into Exchange. - 17 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 Alternatively to checking all the mailboxes in Teamware, you can use the Load from file button. The input is a dump of all the e-mails details (IPMs), generated in Teamware with the command tomdump -I. Note that generating this file can take a long time on large servers and the dump file will be very large. 4.11 Resetting Teamware passwords The Teamware Office API doesn"t offer features for modifying user passwords, not even when connected with full administrative credentials. However, the migration tool can generate special files which you can execute on the Teamware server to reset user passwords. To do this, use the menu Edit > Reset Teamware passwords. If you have a batch selected, you can choose between resetting the passwords for all Teamware users or only the passwords for the users in the current batch. You specify the name of the file to create (for example passwd) and the application will create two files: passwd and passwd.params. Copy those files to the Teamware server, in the Teamware directory and (as Teamware user) run the command: todirmov passwd.params. This will reset the passwords for all specified users. For safety, the application will not allow you to change the password for the ADMIN user. IMPORTANT: In the tab-delimited file with Exchange user information (see 4.9) you can specify Teamware passwords for individual users. Where these are set, these will override the default Teamware password. 4.11.1 Notes for multi-site configurations The generated password file contains all the users, from all the sites. However, you will have to repeat the above operation for each Area Master and Enterprise Master, by doing the following steps: - Modify the .params file, setting the IP address or host name for the site's Directory server - Run todirmov as instructed above - An .err file will be generated, containing the users which don't exist in that site. Simply delete the file and repeat the operation. 4.12 Deleting data from work database In the Edit menu you have two Unload items which allow you to delete data from the local work database. First one delete all users data except batches, the second one delete the batches too. - 18 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 5 Performing import Preferably, you should proceed with the import tasks only after you have distributed all the users to be imported in batches. Of course, for a test system this is not mandatory. The import tasks are executed from the Batch migration tab in the right-side panel of the main window. The only exception is the importing of the public groups, which are imported from the Groups menu. For flexibility, the application allows you to perform the tasks in any order, with only a few obvious exceptions (e.g. you can"t import mails if the users don"t exist yet in AD). The import tasks can be safely run multiple times without any problem, because the application will use the unique objects IDs from Teamware into Exchange in order to avoid creation of duplicates. During the importing tasks you will see a progress window with various progress indicators. You also have a Cancel button which you can use to interrupt the task at any point. Of course, this will result in having only partially imported data – but the imported items themselves (e.g. mails, appointments) will be complete. Depending on the type and number of tasks that were running at the moment of cancellation, sometimes it might take a while for all threads to gracefully finish their execution, so please be patient. Besides importing data, the application also allows you to roll-back imports, which means deleting the imported data. 5.1 Overview of the migration panel The Batch migration panel contains buttons for performing various migration tasks and, on the right side, a log text box where you will see the output of the performed tasks. Briefly, the buttons are: - Tests o Check import users: Verify if the users in the selected batch exist in AD and if the Exchange logins work OK. o Check active mailboxes: Verify if the users mailboxes are active in Exchange and, if they are not, also try to activate them. o Check Teamware logins: Verify if it is possible to login on Teamware for all users in the batch. It will also inform in the log box if any of the users don"t have the Mail or Calendar service enabled in Teamware. - 19 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 o Reset AD passwords: Reset the AD passwords for the users in this batch to the password known by the migration tool – either the default password defined in config.ini or the specific Exchange passwords defined for each account (if they were set). - Import o Import users: Import the users into AD and activate their mailboxes. For users already in AD will also add the Teamware mail address to their addresses list, if it they are different from the Exchange e-mail addresses. o Import mailboxes: Import all mail and mail folders. o Import calendars o Import PAB: Import personal address books o Import permissions: Import the access permissions for mailboxes (in the Teamware sense), PAB and calendars. o Import all: Perform in a single run all the import of mailboxes, calendars and PABs, ignoring as many errors as possible. - Rollback o Rollback users: Reverse (delete) the imported users. Will implicitly delete their resources as well. o Rollback mailboxes: Delete all imported mails and mail folders. o Rollback calendars: Delete all imported appointments. o Rollback PABs: Delete all imported address books entries. o Rollback all: Perform in a single run the rollback of mailboxes, calendars and PABs. Under the import buttons there is also a Prompt on errors checkbox. If not checked, the application will automatically try to skip over items which generated errors. If checked, when an error occurs that can be skipped, the user will be asked if he wants to skip the item and continue processing. Next to it there is a Use Admin Credentials checkbox. If checked, the application will try to use Administrator credentials for accessing the Exchange mailboxes, thus avoiding the need to reset AD passwords or to collect the passwords of all users which already exist in AD. Note that using this method introduces some differences in the flow of operations, which will be explained later. 5.2 Log files During the import processes, the application will also send the output from the log box to log files. First, there is one main log file (log.txt) which will capture all the output. Then for each batch and type of action individual files will also be created, containing the output only for that action. The names of these files have the format log_<batch name>_<date>_<action>.txt, where: - 20 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - batch name is the name of the batch with all non-alphanumeric characters replaced by "_" - date is the date of the action in the format yy_mm_dd-hh_mm - action is one of: "user", "ck_teamware", "mail", "mail_perms", "calendar", "calendar_perms" or "pab" In the case of Import all / Rollback all operations, the "action" part will be "full_import" or "full_rollback" respectively, so all the messages will be logged in the same file. For Mail import there is also a TAB separated values file, with the extension .stat.txt, containing the performance statistics for each users, as well as the counters with the messages imported OK or with errors. 5.3 Before importing users Before importing users, use the Check import users. This will verify what users exist in AD. For users that already exist, it will check if their e-mail and password match the ones known by the application (either the default ones from Teamware or the ones specified for individual accounts). For users that don"t already exist, it will check that their e-mail doesn"t conflict with e-mail from other users. 5.4 Setting how mailboxes URLs are built In config.ini you can use the settings exchange_uri_mode and exchange_uri_domain to specify how the Exchange mailboxes URLs are built. For exchange_uri_mode you can have the following values: - 1: The URL is built from the email nick plus the domain specified in exchange_uri_domain: http://email@example.com - 2: The URL is built only with the e-mail nick: http://server.com/exchange/john.doe - 3: The URL is built using only the login name: http://server.com/exchange/jdoe - 4: Determine the URL for each user, by looking in AD and taking the e-mail which contains the authoritative domain specified in exchange_uri_domain. - 5: Determine the URL for each user, by using their primary addresses. For 4 and 5 please note that there will be slight speed penalty, since they require additional AD operations. The recommended options are 1 and 4. For individual users you can override the URLs from the menu Edit > Show All Users. Also you can do this through the Edit > Export/Import user data function. - 21 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 5.5 Resetting AD passwords For users that already exist in AD and for which you don"t know the password, you can use the Reset AD passwords button to set the password to the one known by the application (either the one defined in config.ini or the ones specified individually for each account). Note that you do not need to reset the AD passwords if you plan to use Admin credentials. When this feature is used, it will act only on those users for which the default password from the migration tool doesn"t work. However, note that once you have changed the password for a user it is not possible to revert back to the old one, so make sure that the affected users know that their password has been changed. Don"t forget that you can use the Check import users button to verify if there are accounts for which the passwords known by the migration tool don"t work. 5.6 Importing users and mailboxes activation When users are imported, they are created in the target OU specified for that batch. NOTE: From version 22.214.171.124 you can use this feature even if only some of the batch users don"t exist in AD. For the users that already exist in AD but have a different e-mail address than in Teamware, the application will add the Teamware address to that user"s list of alternative e-mail addresses. Therefore you should use the Import users function even if all users already exist in AD, just to make sure that the Teamware e-mails also exist in Exchange. After the users are created, the application will try to activate their mailboxes, by sending them e-mails and forcing the RUS (Recipient Update Service) to run. While this method greatly reduces the time for mailboxes activation (which normally would have taken up to 10 – 20 minutes), the operation might still be needed to be repeated a few times until all mailboxes are active. The application will use the language encoding defined in the configuration file (EN or NL) for activating the mailboxes and this will determine the folder names that will be created for those users. Also note that before any other import operation (e.g. mail, calendar) the application will always automatically check if the mailboxes are active for all users in the batch. Very important: For a production system import you should always import the users from ALL batches before doing any other import tasks. This is needed because items such as calendars or permissions might reference users from multiple batches and therefore those users should already exist. - 22 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 5.7 Users and activation when using Admin credentials When using Admin credentials, the procedure is slightly different from above. In the case when new users are imported in AD, the mailboxes activation will usually fail after the user accounts are created. This happens because the Admin user does not have yet permissions to access the new mailboxes and therefore it cannot login to them and check if they are active. If this happens, you will get a pop-up window instructing you to cancel the check for mailboxes activation, run the menu Edit > Set AD Mailboxes Rights and restart Exchange. This operation will grant access permissions for the Admin users to all needed mailboxes. Restarting Exchange is mandatory because it is the only way to ensure the new rights are enforced. After you've done this, running the mailbox activation verification will go through OK. If users already exist in AD - with or without activated mailboxes - you should run Check active mailboxes to make sure that the mailboxes are active and that the Admin user can access them. For the users which don't have active mailboxes yet, this will also trigger the activation of mailboxes in Exchange. Usually after the check for active mailboxes you will get a pop-up instructing you to run the Edit > Set AD Mailboxes Rights and restart Exchange, in the same way as presented above. 5.8 Rollback users You can rollback imported users at any time, which will delete all the users and their resources (mailboxes). After you do this you should use the Exchange System Manager to run the Cleanup Agent on the mailbox store and purge the deleted mailboxes. 5.9 Importing groups In Teamware Office there are two main types of groups: - Public groups (system-wide) - Private groups, which belong to individual users" personal address books The groups dump file loaded from Teamware contains both types of groups, but they are imported in Exchange using completely different methods. The private groups will be imported for each batch, when the personal address books will be imported – more details in the section about PABs import. The public groups are imported outside batches, from the Groups menu. They will be created in the Active Directory server, in the target OUs (Organization Unit) that you can specify for each group. - 23 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 First, use the menu Groups > Public groups to open the window in which you can view the groups. In the list of groups you can double-click on a group to open the window with the group properties. Next to the Target OU box there is a button which opens an AD browser for selecting the desired target. You can also use the button Set default target OU to set the target for all the groups that don"t have one yet. To perform the actual import of groups use the menu Groups > Import public groups. The import process will check if all groups have a valid target OU and if all member users exist in AD. If not all members exist in AD, the system will show a warning with the missing users and ask for confirmation if you want to continue without those users or not. You can safely run the groups import process repeatedly without any problem. However, note that whenever you do that the list of members for each imported group will be emptied first, so any users you have added manually to the group will be removed. 5.10 Importing permissions Very important: Before importing the mailboxes and calendars permissions, you need to run Edit > Set AD mailboxes rights. This will grant to the Administrator user (or whatever AD administrative account you specified in config.ini) mailbox rights to all the users for which permissions will need to be imported from Teamware. This is needed because of a strange limitation in AD/Exchange which, strangely, doesn"t allow mailbox and calendar folders permissions to be set using the mailbox owner credentials. Don"t confuse mailbox rights with mailbox and calendar permissions. The mailbox rights refer to the rights granted in AD/Exchange mailbox store. These are the ones that you set in the window User Properties > Exchange Advanced > Mailbox Rights. After running Set AD mailboxes rights. You must manually restart the Exchange Information Store service in order for the rights to be applied. There is no other way of doing this, it is another Exchange limitation. It is advisable to import mailboxes and calendars permissions before importing the actual mailboxes and calendars. This way the permissions need to be applied only to the existing default folders and when the mailboxes and calendars are imported they will inherit those permissions. When the permissions are imported, the application will check if all trustees exist in AD and, if they don"t exist, it will ask the user if to continue with importing permissions only for the existing trustees. The permissions system in Teamware involved allowing/disallowing permissions to specific types of items. For simplicity, these are mapped into the standard Exchange permissions sets (Publishing) Author, (Publishing) Editor, Reviewer and None. More specifically, for mailboxes the mappings are: - 24 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - If the trustee has "Remove" permission for messages: o Publishing Editor if the user has any of the permissions: Create folders, Change folders or Remove folders o Editor otherwise - If the trustee has "Insert" permissions for messages: o Publishing Author if the user has any of the permissions: Create folders, Change folders or Remove folders o Author otherwise - If the trustee has "Read" or "See" permissions for messages: o Reviewer For calendars the mappings are: - Publishing Editor if the trustee has the permissions: Create appointments, Confirm appointments and Change calendar or Change calendar permissions. - Publishing Author if the trustee has the permissions: Create appointments and Modify created by self or See message text. - Reviewer if the trustee has the permissions See message subject or Read message text. - None (View folder) if the trustee has the permission See free time Also, in Teamware you have the Everyone special trustee, which is mapped to the Default trustee in Exchange. 5.11 Importing RTF bodies for Mail and Calendar Normally, only plain text bodies are migrated for Mail and Calendar. However, in Teamware you can have formatting and embedded objects (e.g. images, documents etc.) in the body, which Teamware stores in RTF format. If desired, these can be migrated, they will appear in Exchange as RTF file attachments, called "body.rtf". Furthermore, it is possible to define a migration threshold, meaning to only migrate the RTF body when the ratio between the RTF content and the text content is larger than a limit that you can set in config.ini. When the ratio is high for an e-mail or appointment, this means that the RTF body contains a lot of formatting or other embedded objects. The setting is called rtf_threshold, and a value of 10 is OK in most cases. If you want to disable RTF migration completely, just set it to 0 (default value). IMPORTANT NOTE: Enabling RTF migration will slow down the migration, due to extra calls to Teamware and the extra temporary files written on disk. The decrease is not very big, but can be noticeable. It's best that you test on you specific system, you can use the testing stats generating during mail migration. - 25 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 5.12 Importing mailboxes Together with importing of calendars, these are the most intensive tasks of the migration process and, depending on the number of users in the batch and the number of mail items for each user, it might take up to a couple of hours for large batches. Depending on the configuration setting mail_folders_target, the Teamware mail folders will be created either under Inbox or at the top of the mailbox. Note that, because of the way in which the Teamware API is constructed, all imported mails will automatically be marked as "Read" in Teamware Office when the import application copies them to Exchange. Also, all message bodies will be copied as plain-text and any formatting (e.g. colors, fonts) will be discarded. The only way to avoid this would be to fetch the message bodies in RTF and convert them to HTML – but this would require a lot of extra processing work and would probably triple the duration of the import process. During import, the mails will be read one by one from Teamware (its API is not thread-safe here), but for pushing them into Exchange the application will dispatch a number of parallel threads. That"s why is important to optimize Exchange (if possible) for multiple concurrent sessions. If during the import the application encounters errors in fetching the messages from Teamware, then these errors will be shown in the output and logs. Where possible, the application will try to continue processing. Depending on the severity of the error, the message might be skipped from migration. The log will show after the warning message if the message was skipped or imported. 5.12.1 Unresolved mail recipients In rare circumstances, it can happen that the Teamware API fails to resolve the e-mail address of a recipient and it will retrieve only that recipient's name. The migration tool will try to find that name among the users, personal address book entries and external entries, but they are not always present. When no e-mail address is found, the names and the respective e-mails are recorded in a log file with the termination "unresolved_recipients.txt". At the end of each batch migration a summary will be placed in the logs with all the unresolved names and how many occurrences there are for each. 5.13 Importing calendars This operation applies, obviously, to both Users and Resource Calendars. Importing calendars is even a more complex task than importing mailboxes, because an appointment can have multiple attendees and therefore it has to be - 26 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 created in a special way so that Exchange will recognize it as being the same appointment in multiple calendars. More specifically, the application will look at all appointments in all calendars for the current batch, will identify those for which the users are organizers and will create them in the organizers" calendars. If an appointment has more attendees, it will create and dispatch to them mails with appointment invitations. Then it will connect to each attendee Inbox, intercept the mail and create from it the appointment in the attendee calendar, after which will delete the invitation e-mail. It is a complicated process and it has to be repeated for each appointment, but it was the only possible way to do it. If the appointments would have been created directly in each attendee calendar, then Exchange would have considered them as separate appointments and if one of the attendees or organizer would modify it, Exchange would have created new duplicate appointments in the other attendees" calendars. The process for calendars import has two steps: 1. (Optional) Look in all appointments and build the list with all the attendees. If not all attendees are present in AD, the user will be asked if he want to continue with importing only the existing attendees. 2. Perform the actual import of calendar appointments. In the first step, the application will dispatch parallel threads for looking into all the Teamware calendars, after which the lists of attendees from each thread are centralized and verified. You can choose to skip the first step to reduce the duration of the overall import process, but this also means that you will not be warned about missing attendees. For the second step, the application will read the appointments one by one from Teamware and dispatch parallel processing threads for creating the appointments in Exchange. In the configuration file you can specify for how many months in the past and in the future you want to import appointments. This limitation in the future will also affect the number of recurrence instances that will be created for recurring appointments. There are different modes for handling the import of appointments with multiple attendees. See the description of the setting cale_import_mode at the end of the document for details. By default, these appointments are imported when their owner user is imported. This means that importing appointments for a user will create appointments in other users' calendars. If during the migration some appointments can't be read properly from Teamware or if there are other issues, these appointments will be logged in a file with the extension unresolved_recipients.txt, so you will at least know which appointments had problems. 5.13.1 Attention points for Calendars import There are a number of limitations for Calendars import that you need to be aware of: - 27 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 1. VERY IMPORTANT! If during Calendars import the application suddenly dies with no explanation, read further. There is a critical bug in Teamware Link: if an appointment contains attendees which are Teamware users without a Calendar service, Teamware Link crashes with a StackOverflow error when trying to access the appointment. Because StackOverflow is a critical error, it cannot be handled by the normal .Net error handling routines and the migration tool process is killed as well. WORKAROUND: Enable extended logging in config.ini. After the application crashes, look in the log file to see on which appointment the error occurred. Use the Teamware Calendar client to remove the offending attendee and start the migration again. 2. Teamware Link doesn't handle properly appointments which contain as attendees private entries (from PAB) or external entries. When trying to access such an appointment, Teamware Link will return an error code -44 (TOL_AB_ENTRY_NOT_SUPPORTED) or -125 (TOL_ENTRY_IS_FROM_OTHER_SITE - which is actually a little misleading, since sites are not relevant for external entries). In any case, since these appointments cannot be properly accessed through Teamware Link, they cannot be migrated correctly. Still the application will try to retrieve as much details as possible from the appointment and at least mark the time slot as reserved in the migrated user's calendar, adding the appointment body a note that the data was not retrieved completely from Teamware. 3. Teamware Link does not support recurring appointments. Therefore all occurrences of recurring appointments will be imported as individual appointments. 5.14 Importing PABs (personal address books) The process of importing PABs involves actually importing of three types of objects: - Address book entries, imported in Exchange as contacts. - Aliases, which in Teamware are "shortcuts" to Directory users. Since Exchange does not have a similar concept, these are also imported as contacts. - External entries. Like the Aliases, these will also be imported as contacts. - Private groups, imported in Exchange as distribution lists. In Teamware is possible for private groups to contain a mix of personal address book entries and Directory users. If those Directory users have not been imported in Exchange or don"t have a matching contact in the user"s personal address book, then their information will still be added in the respective Exchange distribution lists using the information from the local database. Important notes: Because of Exchange restrictions the following limitations apply: - Group names in Exchange can't contain characters like: + . , & etc. All such characters will be replaced with "_" - 28 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - Distribution lists (the Exchange equivalent of Teamware private groups) can't contain contacts (private entries) if they don't have an e-mail address set. If a private group contains such entries in Teamware, when migrating to Exchange these will not appear in the corresponding distribution list (but they will still be present in the Contacts) - For the same reason, Exchange distribution lists can't contain sub- distribution lists, therefore sub-groups from Teamware will not appear in the parent groups/distribution lists in Exchange. This does NOT apply to public groups, which are imported separately in Active Directory. 5.14.1 PAB groups imported as groups or categories Private groups from PAB can be imported in Exchange as actual groups or as categories. The categories can be useful if, for example, you have very large PAB groups which are not handled well by Outlook. One very important difference when importing as categories: if a group contains a reference to a Directory user, then the application will create in Exchange a Contact in which it will copy the details for that user. Note that the copy from the Contacts and the actual user record in Active Directory are NOT linked. Changes to the user data will NOT reflected to the corresponding Contacts. When not importing groups as categories, you can use the option groups_create_externals in config.ini to specify if you want the aliases and external entries from private groups to be created as complete address book entries (yes) or only as items in the distribution lists (no). 5.15 Importing All Instead of running the import for each class of objects and permissions, you can use the Import all button. This will execute in a single run all the main import operations. Furthermore, the application will try to automatically solve any encountered errors and the entire process could go unattended. If something critical goes wrong for a specific user, the application will try to skip that user from that particular import operation and move to the next one. Of course, all the errors will be recorded in the log and at the end of the entire process the application will list any users for which a particular import operation has failed forcing the user to be skipped. Note that this "automatic" import process does not include importing users and checking for active mailboxes. These operations should always be performed in advance. - 29 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 5.16 Saving auto-forwarding rules Since the auto-forwarding features in Teamware and Exchange work differently - more specifically, because Exchange allows only one auto-forwarding recipient per user account - the auto-forwarding rules can't be imported directly into Exchange. It is possible however to generate a file with the auto-forwarding rules. First, you need to load into the migration application the auto-forwarding rules, from the menu File. It is important to do this only after you loaded the users and PAB entries, because auto-forwarding recipients in Teamware are stored as references which the application needs to resolve to actual user accounts and address book entries. The input file is the same one used for importing users, PAB permissions and calendars permissions (the output of toddump -U -u1). Needless to say, you need to do the loading only once, as once loaded and processed the auto-forwarding rules will be stored in the application's work database. It is possible that some auto-forwarding rules to point to objects which don't exist anymore in Teamware (e.g. they have been deleted). Obviously, such references will be discarded by the migration tool. The application will inform you if such missing references were encountered. After the rules are loaded and processed, they can be saved to a file from the menu Edit > Save auto-forwarding rules. This will generate a TAB-delimited file with the following columns: - User: The display user name of the user to whom the rule belongs to (owner) - Teamware login: The Teamware login name of the rule owner - Exchange login: The Exchange login name of the rule owner - Exchange email: The Exchange e-mail alias of the rule owner - Auto-forwarding enabled: Y/N if the user has actually enabled auto- forwarding in his Teamware account. In Teamware a user can define auto- forwarding rules and enable or disable them as needed, without having to delete or re-create the rules. - Keep copies: Y/N if the user has requested or not to keep in his mailbox copies of the auto-forwarded messages. - Recipient name: The free-form name of the auto-forwarding recipient. This can be a Directory name (if the recipient is a Directory user) or a PAB entry (if the recipient was created by the user in his personal address book) - Recipient e-mail: The actual e-mail of the auto-forwarding recipient. If the recipient comes from Directory, then the Exchange address of the recipient user is shown. - Comments: Additional comments specified by the user in his auto- forwarding rule. In Teamware, if this text was specified it was sent as an auto-forwarding notification to the sender of the auto-forwarded e-mail. It might happened that the "Recipient e-mail" column to be empty for some of the rules. This means that the auto-forwarding rule was pointing to a PAB entry which - 30 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 didn't have an e-mail address defined. In such cases the user might have used the entry name ("Recipient name" column) to specify the address - but this is not mandatory. - 31 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 6 Command-line parameters It is possible to launch certain tasks directly from the command line. To do so, you must use the application TWOExchangeMigrationCmd.exe instead of TWOExchangeMigration.exe. Here are the possible parameters: -ux <file>: Load the CSV file with Exchange users information from the specified file. -lu <file>: Load the users from the specified dump file. -lr <file>: Load the resource calendars from the specified dump file. -le <file>: Load the external entries from the specified dump file. -lb <file>: Load the PABs from the specified dump file. -lg <file>: Load the groups from the specified dump file. -lmp <file>: Load the mailboxes permissions from the specified dump file. -lcp <file>: Load the PAB and calendars permissions from the specified dump file (the users file). -lf <file>: Load the auto-forwarding rules from the specified dump file (the users file). -cu <name>: Run the "Check import users" for the specified batch. -ca <name>: Run the "Check active mailboxes" for the specified batch. -ct <name>: Run the "Check Teamware logins" for the specified batch. -iu <name>: Run the "Import users" for the specified batch. -im <name>: Run the "Import mailboxes" for the specified batch. -imp <name>: Run the "Import permissions" for the specified batch. -ic <name>: Run the "Import calendars" for the specified batch. -ip <name>: Run the "Import PABs" for the specified batch. -iall <name>: Run the "Import all" for the specified batch. - 32 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 7 Apendix A: Configuration file parameters Below you have the parameters you can set in config.ini: - two_server: The IP address of the Enterprise Master Teamware server - two_default_password: The default password for accessing Teamware accounts. Must be set before the import tasks are executed, otherwise the migration tool is not able to fetch data from Teamware. - exchange_server: The IP address of the Exchange server - exchange_uri: The base URI of the Exchange server Web interface (OWA) - work_database: The path to the MS Access work database - two_base_dn: Obsolete, not used anymore - two_email_domain: Obsolete, not used anymore - base_addr_trans: This is a new option from version 3.0 and it is used for specifying how the Teamware base addresses should be translated into Exchange. You can have multiple lines like this, one for each base address from the Teamware system - but only for those which will differ in the Exchange system. For example you could have the following lines: base_addr_trans = tw1.company.com : company.com base_addr_trans = tw2.company.com : company.com base_addr_trans = tw3.company.com : ex.company.com - mail_folders_target: Another new setting introduced in version 3.0 can have the values: o inbox - (default) imported mail folders are created under Inbox (Postvak In) o top - imported mail folders are created in the mailbox root, on the same level as Inbox - ad_server: The IP address of the Active Directory server - two_admin_login: Login name for the Teamware administrator - two_admin_password: Password of the Teamware administrator - ad_admin_login: Login name for the Active Directory administrator - ad_admin_password: Password for the Active Directory administrator - ad_domain: The Active Director domain in which to place newly created users - default_target_ou: An optional setting, to be used as import target OU for all the batches which don't have a target OU specified. - 33 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - default_exchange_password: The default password to set for newly created users in AD/Exchange. For convenience, it"s better to make it the same as two_default_password - exchange_uri_mode, exchange_uri_domain: How to build the Exchange base URLs. See section 5.4 Setting how mailboxes URLs are built for details. - exchange_store: Can specify the DN of an Exchange Mailbox Store in which to place the newly created accounts. If this option is not specified in config.ini, then the default store is used. - users_containers: When building the AD tree for "Select Target OU" the operation can take a long time and consume a lot of resources. But you can use this setting to limit the kind of AD objects into which the application will dig. The default setting is: "domain, organizationalUnit, group". - exchange_lang: The language code to use when creating Exchange mailboxes ("en" or "nl"). For accounts that already exist this setting has no effect. - cale_import_mode: Controls how the Calendar import is performed. Can have one of the following values: o 1: (Default) Import each appointment when the appointment owner is migrated. This means that, in order for all appointments to be migrated, all owner users need to be migrated. o 2: On each attendee. Import each appointment every time it is encountered, for all the attendees. This way a user gets all his appointments when he is migrated, but the migration is a little slower because of the extra work of detecting and eliminating duplicates. o 3: Disjointed import. Each attendee gets a copy of the appointment, but without the list of the attendees. It is the fastest import method, but you loose the attendees lists and the links between appointments in the different attendees' calendars. - calendar_months_past: The number of months in the past for which to import Calendar appointments. Appointments created earlier than that will not be imported. Set it to 0 if you don"t want to impose limitations in the past. - calendar_months_future: The number of months in the future for which to import appointments. - calendar_on_first_att_only: If true, for appointments where the owner is not an attendee then the import will be done only when the first attendee is imported, to avoid duplicates when Teamware Link returns different IDs for each attendee of the same appointment. - groups_as_categories: Control if you want to import private groups in Exchange as groups or as categories. Values: yes/no. - groups_create_externals: Only when NOT importing PAB groups as categories. If "yes", then aliases and external entries from PAB groups will be created as full-fledged address book contacts. If "no", then those will only be created as items in the distribution lists. - threads_max_exchange: The maximum number of parallel import threads to use when importing data into Exchange. - 34 - Title: Teamware-Exchange Migration Author: Sebastian Avarvarei, Proteusworld Version: 4.3 - default_base_address: The base address (domain) to use in e-mail addresses for accounts which don't have one, for example accounts created from resource calendars. - use_admin_credentials: 1 or 0 if to use Administrator credentials by default or not. - extended_logging: 1 or 0 if to put verbose information in the log during mailboxes import. If 1, it will list all e-mails processed. - temp_path: Allows specifying the location of the directory for the temporary files. - skip_activation_checks: Don"t perform the activation checks at the beginning of each migration operation. - import_date_min, import_date_max: Only import mails and appointments created between these dates. - import_recips_under: If non-zero, e-mails having more than this number of recipients will be imported without the recipients list, to save time. - import_recips_over: If non-zero, e-mails having less than this number of recipients will not be imported. Useful if doing an import in two phases, the first phase using the import_recips_under setting. - skip_mail_folders: For the first user migrated after the tool is started, skip this number of mail folders. - skip_to_mail_folder: For the first user migrated after the tool is started, skip until this folder is encountered. Sub-folders are specified using "/" as separator, e.g. MainFolder/SubFolder1/SubFolder2 - skip_mail_messages: For the first user migrated after the tool is started, skip this number of messages from the first migrated folder. - rtf_threshold: The threshold for RTF migration. If 0 (default value), then RTF bodies are not migrated. Otherwise, if for a message or appointment the data ratio between the RTF body and the text body is larger than the rtf_threshold value, then RTF data is migrated and will appear in Exchange as an attachment called body.rtf. - 35 -


text:
35ft. RV, with 3 slides, 2leather recliners and couch, couch makes into a queen size air mattress bed, nice, queen bed in bedroom, washer and dryer, big shower , price includes 3 years of extended warranty which is optinal , located in Comanche,Texas, if interested can message me .
1 month ago on Classified AdsThis is a very nice 35ft RV with lots of room. Almost like new. All appliances are in good working condition. Call Lee for questions.
(817) 366-3923 1 month ago on Classified AdsNICE ONE OWNER POP UP CAMPER,W/2 QUEEN BEDS ONE FOLD OUT IN DINNING AREA. USED VERRY LITTLE KEPT IN SHED. 2 NEW TIRES & CURRENT LICENSE. CAN BE USED ELEC OR PROPANE. cash or cashier ck!
(325) 885-2591 1 month ago on Classified AdsListing by Auction123.com copyright Auction123, Inc.National Vehicle - 1941 South 42nd St Omaha, NE 68105 - 800-320-9557 ext: 0DescriptionBasic InformationType: Motorized Class AMileage: 0Length (Feet): 37Condition:
1 month ago on ebay.com2004 Fleetwood Pride, 38 ft., four (4) slides, large master bedroom and bath, king size with lots of closet and storage space. Nice kitchen, fireplace, surround sound with flat screen. great shape, new sales price was $60k. Can be seen in Stephenville, Texas. contact #: 405.761.3126.
(405) 761-3126 1 month ago on Classified Ads2011 Jayco Eagle. Fully Self-Contained 5th Wheelthis unit has everything within for a complete homelike comfort. Predominantly with a White exterior the interior is a Multi Color theme and Wood cabinetry interior d
1 month ago on RVs and Campers1993 Dutchmen M29q. This Is A Very Nice 1993 Dutchmen M29q Motorhome And Currently With- Just Under 38000 Miles In Excellent Condition Is The Kind Of Rv To Make- Traveling From One Destination To The Next As Memora
1 month ago on RVs and Campers2006 Coachman Freelander . E-450 superduty Freelander motorhome with only 14000 miles and one slideout. Everything is in excellent working conditon. Equipped with heat a/c (a/c has been upgraded) V 10 gas ford eng
1 month ago on RVs and Campers

subset: commoncrawl


text:
27 Crafts for Preschool: Activities for Preschool Children
Bonus: Get our newsletter & special offers for free. We will not share or sell your email address. View our Privacy Policy
Lemon Sugar Scrub
By: Larissa from Just Another Day in Paradise
Kids can make delightful spa gifts for teachers like this lovely Lemon Sugar Scrub. Teachers can relax in a hot bath with an exfoliating scrub. These amazing gifts kids can make for teachers are a great way to show your appreciation.
Materials: Mixed Media/Miscellaneous
Age Group: Elementary School, Pre-Teens, Teens
Time to complete: One hour
Tags / Related Topics
Your Recently Viewed Projects
Love these projects? Get MORE delivered to your Inbox – FREE Click Here!
Something worth saving?
- SAVE your favorite projects
- ADD personal reminder notes
- QUICKLY reference your projects
Free eBooks
- 11 Winter Crafts for Kids + Outdoor Activities
- 12 St. Patrick's Day Crafts For Kids
- 27 Crafts for Preschool: Activities for Preschool Children
- Cheap and Easy Crafts for Kids: 9 Recycled Crafts
- Spring Crafts for Kids: 17 Flower Crafts, Butterfly Crafts, and More
- Valentine's Day Crafts for Kids- 9 Valentine's Day Ideas You'll Love


text:
Goldman Sachs Asset Management To Launch New Stable Value Fund
Goldman Sachs Asset Management is the asset management arm of The Goldman Sachs Group, Inc. (NYSE: GS), which manages $860 billion as of March 31, 2013. Goldman Sachs Asset Management has been providing discretionary investment advisory services since 1988 and has investment professionals in all major financial centers around the world. The company offers investment strategies across a broad range of asset classes to institutional and individual clients globally. Founded in 1869, Goldman Sachs is a leading global investment banking, securities and investment management firm that provides a wide range of financial services to a substantial and diversified client base that includes corporations, financial institutions, governments and high-net-worth individuals.
The Goldman Sachs Stable Value Collective Trust (the Fund) has not been launched yet. This press release is delivered solely for informational purposes with respect to the Fund, an investment product that Goldman Sachs may offer in the future.
This information is provided for informational purposes only and is not an offer or solicitation to invest in any Goldman Sachs product. Any offers in the future will be made by the Goldman Sachs Trust Company, N.A. solely to certain eligible trusts, certain government plans, and certain insurance company separate accounts for which such an investment would be considered suitable and would be lawful and which can afford to invest in investment vehicles having the risks, objectives and prospects of the Fund.
Views and opinions are current as of the date of this presentation and may be subject to change, they should not be construed as investment advice.
1 Stable Value Investment Association, March 31, 2013 2 GSAM, April 30, 2013Check Out Our Best Services for Investors
Action Alerts PLUS
Portfolio Manager Jim Cramer and Director of Research Jack Mohr reveal their investment tactics while giving advanced notice before every trade.
Product Features:
- $2.5+ million portfolio
- Large-cap and dividend focus
- Intraday trade alerts from Cramer
Quant Ratings
Access the tool that DOMINATES the Russell 2000 and the S&P 500.
Product Features:
- Buy, hold, or sell recommendations for over 4,300 stocks
- Unlimited research reports on your favorite stocks
- A custom stock screener
Stocks Under $10
David Peltier uncovers low dollar stocks with serious upside potential that are flying under Wall Street's radar.
Product Features:
- Model portfolio
- Stocks trading below $10
- Intraday trade alerts
Check Out Our Best Services for Investors
Dividend Stock Advisor
David Peltier identifies the best of breed dividend stocks that will pay a reliable AND significant income stream.
Product Features:
- Diversified model portfolio of dividend stocks
- Updates with exact steps to take - BUY, HOLD, SELL
Trifecta Stocks
Every recommendation goes through 3 layers of intense scrutinyquantitative, fundamental and technical analysisto maximize profit potential and minimize risk.
Product Features:
- Model Portfolio
- Intra Day Trade alerts
- Access to Quant Ratings
Options Profits
Our options trading pros provide over 100 monthly option trading ideas and strategies to help you become a well-seasoned trader.
Product Features:
- Actionable options commentary and news
- Real-time trading community


text:
Dishwasher Installation
I am looking for some advice or a good link to assist me with dishwasher installation. I have separate circuit for the electrical, but what I need some help with is how the plumbing connections underneath my sink will be altered. I do not have a garbage disposal and do not have the desire to install one.
all you need is a 3 way angle stop installed on the hot water line and a dishwasher tailpiece installed on the drainage lines. Your local box stores have all the stuff you'll need
Three way angle stop, I think thats what was confusing me...thanks!
All times are GMT -5. The time now is 07:48 AM. |


text:
Shares of Allegiant Travel Company (ALGT - 60.67) rallied on Wednesday, after the airliner received an upgrade to "outperform" from "market perform" at Raymond James. However, bearish speculators blatantly disregarded the news, as nearly 2,000 puts changed hands, which was a whopping 35 times above the norm. The bulk of the action centered around the out-of-the-money May 55 strike, where 1,870 of these puts were traded -- almost all of them at the ask price, pointing to buyer-driven activity. This strike saw a significant overnight rise in open interest, bringing the total number of outstanding contracts to 1,502 -- indicating that most of the volume was comprised of new positions. In order for traders to collect a profit from these bought-to-open puts, the stock must retreat beneath the $55 mark by May expiration.
This bearish skew toward ALGT is par for the course. The Schaeffer's put/call open interest ratio (SOIR) sits at 3.16, confirming that puts more than triple calls among options slated to expire in three months. This ratio registers in the 73rd percentile of its annual range, which means that near-term options players have been more put-heavy toward the stock just 27% of the time over the last 12 months.
From a technical perspective, ALGT boasts a year-over-year gain of nearly 40%, and has outperformed the broader S&P 500 Index (SPX) by roughly 14% during the past 20 sessions. The stock is currently trading far above its 10-day moving average, which has acted as support for more than a month. In fact, the equity reached a new record high of $61.21 earlier this morning.
At last check, ALGT is up about 0.6% to wink at $60.67.


text:
Holy Pagination 0.1
Developed by Marcos Taranta, listed in HTML
Holy Pagination takes as parameters the total number of entries in the listing, the limit number of entries to display and the number of the current page.
HTML code with links to the other pages is returned using templates.
PHP 5.0 or higher
License type: GPL - GNU General Public License
Date added: 6 years, 13 days ago | Last updated: 6 years, 13 days ago
More popular HTML
- Mysql Ajax Table Editor 2.2 (4 years, 2 months 21 days ago)
- Form Tools 2.2.5 (1 year, 9 months 6 days ago)
- PHP Form Builder Class 3.1 (2 years, 2 months 29 days ago)
- Ajax Table Edit 1.0 (8 years, 9 months 23 days ago)
- PHPagination 1.0 (2 months 28 days ago)
This is actually one of the most advanced image hosting script. The imagetize key features: SEO, Ads Ready, Admin
Listing Files
- pagination.php
- 02/21/2009 15:20:58
- pagination_example.php
- 02/21/2009 15:20:58
Hot Scripts
- FREE MySQL Cloud Database Super Simple, Zero-Management MySQL Cloud DB. Use It FREE!
- Pinterest clone Start your own pin board social network today. Get Pintastic and start your own pinterest clone network.
- MYRE Real Estate Software Professional Real Estate solutions by MYREPHP PROGRAMMING!


text:
Welcome, Sign In
Lindsay Lohan Says Her Last Drink Was "a Long Amount Of Time" Ago, But Admits It Was After Leaving Treatment
Description:Lindsay Lohan appeared on the Alan Carr: Chatty Man show today and was completely open about how she's been doing since leaving treatment. When LiLo was asked by host Alan Carr when the last time was that she'd indulged in an alcoholic beverage, Lohan said, "There was a point on the show when I was in a relationship with someone, and I, like, had a drink and I freaked out and didn't want to say anything on the show as I didn't know how that would come across and I was just scared. (0:46)
Source: Wochit Entertainment
Tags: wochit entertainment , a little more personal , alan carr: chatty man , lindsay lohan


text:
Let us examine two key issues: the right time to take Social Security and the impact of a pension on benefits.
Obamacare and Your Taxes
The Affordable Care Act has its footprints on our income taxes for the first time this year. Now the government wants to know that you had health insurance coverage in place for all of last year.
No Money Down Wreaks Havoc on Your Finances
Your current TV isn't up to snuff, so you find a good buy on a new 55" model. While paying for it, you get an offer that's hard to believe. You can purchase your new HDTV without paying for it today. The store is offering a no money down, no interest, and no payments plan.
Decouple Your Way to Financial Independence
Financial Independence gives you the confidence to make decisions to maximize your opportunities and quality of life rather than driven by fear of losing a steady paycheck.
Cheers and Jeers for 2014
There were many reasons to celebrate in the financial world in 2014 and a few to scowl. From the well-publicized to the esoteric, here are some that stood out over the last year.
Year-End Financial Moves to Avoid
In previous years we've talked about strategies to improve your finances at the end of the year. Now we'll take a different tack and focus on year-end ways you can shoot yourself in the financial foot.
Right and Wrong Reasons to Sell Your Losers
While stocks this year have been moderately positive, your individual fund selections have probably not moved in synch with the headline market indices.
Investing in Flat Market
With stocks setting new records, it's an odd time to talk about how to prosper in flat markets.
A Will Is Not Enough
It is tough to talk about your demise and what would happen with your "estate,", but is all of this careful estate planning enough?
Ebola and Your Financial Life
It's human nature to fear the threats that we don't understand and can't control. Rather than staying tuned to the ranters on CNBC, be mindful in your focus on endogenous factors (that you can control) that lead to positive financial results.


text:
I'm originally from Vermont and I love it here. I love being
outdoors, camping, cooking, watching sports, hanging with family
and friends and traveling abroad. Two things that are currently
important to me are football and riding my motorcycles. Football is
important because I played for nine years, and I have been
officiating the game for six more. I recently started officiating
for the NCAA this season which is a ton of fun. I love riding
because you always get to explore the roads less taken. With that,
you typically find fun places to eat or explore that you wouldn't
have otherwise found.
Join OkCupid
Find better matches with our advanced
matching system
—% Match
—% Enemy
27 • Essex Junction, VT • Man
I'm looking for
- Women
- Ages 20–29
- Near me
- For new friends, long-term dating, short-term dating
My Details
- Last Online
- Yesterday – 6:22pm
- Orientation
- Straight
- Ethnicity
- White
- Height
- 5′ 8″ (1.73m)
- Body Type
- Athletic
- Diet
- Mostly anything
- Smokes
- No
- Drinks
- Socially
- Drugs
- Never
- Religion
- Catholicism
- Sign
- Scorpio, and it's fun to think about
- Education
- Graduated from university
- Job
- Science / Engineering
- Income
- $80,000–$100,000
- Status
- Single
- Type
- —
- Offspring
- Doesn't have kids
- Pets
- Likes dogs and has cats
- Speaks
- English, French (Okay)
Similar Users
What I'm doing with my life
Don't overthink this one; tell us what you're doing day-to-day.
I currently work in research and development as an engineer for a
local company. I like my job as it is challenging, requires much
thought and creativity and it constantly changes; however, it does
require me to often travel domestically and sometimes
internationally. Other than work, I like to spend time with family
and friends, enjoying the outdoors, and learning/experiencing new
I'm really good at
Go on, brag a little (or a lot). We won't judge.
Sports, Cooking/grilling with friends, problem solving,
math/science, and having a good time.
The first things people usually notice about me
I'm an empty essay… fill me out!
My smile of course :)
Favorite books, movies, shows, music, and food
Help your potential matches find common interests.
Food: Lasagna (In particular the family recipe), Pizza, Mexican,
Italian, and of course bbqing/grilling.
TV Shows: Sports (Football and Hockey), Grey's Anatomy, Scandal, Bachelor/Bachelorette, Under the Dome.
Movies: I enjoy almost any type of movie, but I mostly watch action movies and occasionally a good scary movie.
TV Shows: Sports (Football and Hockey), Grey's Anatomy, Scandal, Bachelor/Bachelorette, Under the Dome.
Movies: I enjoy almost any type of movie, but I mostly watch action movies and occasionally a good scary movie.
The six things I could never do without
Think outside the box. Sometimes the little things can say a lot.
1) Family, 2) Friends, 3) Football, 4) My Motorcycles, 5) Good
Food, 6) Pets
I spend a lot of time thinking about
Global warming, lunch, or your next vacation… it's all fair game.
The future
On a typical Friday night I am
Netflix and takeout, or getting your party on — how do you let loose?
Traveling, going out with friends, or staying in.
The most private thing I'm willing to admit
I'm an empty essay… fill me out!
I've split a pair of pants at work while picking up a heavy
object.....Come on now, who hasn't?
You should message me if
Offer a few tips to help matches win you over.
You would like to get to know me more. I like to meet new people so
don't hesitate to chat :)


text:
Share your reviews,
photos and videos here!
Involvement:Expert (understands the inner workings) - Ownership:1 day to 1 week
Pros:Pros about this lighter:
- Best looking oil lighter from DealExtreme
- Feels very very solid in your hands
- The flame is good if you just fill it normally
- It weight also very good so than it does not feel cheap
- Also this lighter is easy to refill and the fuel isnt expensive so that is also great
- The back is also very good first when i saw the pictures i did not like it very much but now when i have it inreal is is also just perfect
- the wick is good
- the flint is good
Cons about this product:
- The first time i light it the flame wasnt big but when i let it on for a 30 sec the flame was perfect and now every time the flame is very good
It is a good product and it came good packed.
Bottomline:Buy this for day-use or your collection and you would be very happy with it!
Get great weekly deals and offers like: Collections


text:
Aquarian Modern Vintage II Bass Drumhead with Felt Strip
Product #J07194 Aquarian J07194 DEBB Individual Drum Heads https://www.esnapw.com/rses/ESnapServlet?MerchantNumberSent=63655- Write a Review
- Seen a Lower Price? Click Here.
45 day price guarantee, 45 day return policy, 100% secure shopping
Vintage series bass drumhead with felt strip.
A new coated, two ply drumhead composed of two 7mil plies. Aquarian's proprietary Vintage Coating creates the tone of yesteryear with the added durability that a two ply head delivers. Soft and warm at low volumes. Fat and round when played hard. The Modern Vintage II tunes up easy with a musical vintage tone. Best Synthetic calf sound you can find. The Modern Vintage II Bass drum Heads can come equipped with Aquarians patented floating muffling Ring for total tone and resonance control.
Call or click to order today!