CSV Data Exports for SharePoint Lists

Why Export SharePoint List Data to CSV?

CSV stands for "comma-separated values" and is a seasoned, proven, stable and cross-platform file format for exchanging data records of identical or similar structure. Most advanced, industry-strength software systems can read in and import CSV data files easily, including Microsoft Office Excel (for spread sheets) and Outlook (for contacts). Utilizing the sophisticated, customizable CSV data export solution provided by ExportZen can make your highly custom data transformation or migration processes and tasks so much easier and faster to accomplish.

How ExportZen CSV Data Exports work for SharePoint Lists

In SharePoint 2007 (WSS 3.0 and MOSS 2007) ExportZen integrates one or more Export actions into the Actions menu of SharePoint List Views:

In SharePoint 2010 (Foundation and Server) ExportZen integrates one or more Export commands into its own Export to CSV menu inside the Connect & Export section of the List ribbon tab:

Clicking the menu item will let users download the SharePoint List data as a CSV file:

In addition to making CSV exports available interactively to end users as illustrated above, you can also utilize the same ExportZen capabilities for scheduled automation of server-side, unsupervised, background List data exports.

Defining Your Export Action

To make the above work, you need to tell ExportZen just a few preferences, by specifying for a given export use case (which can then be re-invoked time and again) some so-called Export Action Definition Settings, such as:

To do so, you just need to create at least one rule on the Export Actions page available via Site Settings / ExportZen Studio / Export Actions:

On the Export Actions page, simply create and save a new rule item to finally define your CSV Export action:

That's it! This CSV Export action you just defined is now available in the Actions menu of the specified Lists, and clicking it will download a CSV data file with only those columns you specified, fully reflecting all of your export action definition settings.

Export menu item not showing up? You can also link to your CSV export:

Your Export action may not show up in the Actions menu of SharePoint 2007 Document Libraries and other SharePoint 2007 Libraries, and in addition may not show up in List Actions menus of heavily customized SharePoint 2007 environments. (Such incidents have so far not yet been observed under SharePoint 2010 however.) To direct users to a CSV export of a given List, simply give them a link to http://your/web/site/url/_layouts/roxority_ExportZen/expo.aspx?exportlist=list_guid&rule=youraction — replacing, of course, the your/web/site/url part with your SharePoint Web Site URL, the list_guid URL parameter value with the GUID of the List to be exported and the youraction URL parameter value with the name of your export action.

Solution Installation

1. The ExportZen Setup Package

The ExportZen setup package (the roxority_ExportZen.zip file) is a zipped archive containing:

2. Installing the ExportZen Solution Package

Run Deploy.exe (under user account credentials added to the Farm Administrators group in Central Administration, on the "primary" SharePoint farm or web front-end server — in a multi-server farm environment, that is the server hosting Central Administration) and when the Welcome screen is displayed, click Next to start a series of system checks. To proceed with the installation, all system checks need to succeed:

Click Next and on the following screen, select the Web Applications to deploy ExportZen to. You can also de-select those Site Collections you do not want the setup wizard, upon successful deployment, to activate the ExportZen List Integration feature immediately for you on.

Note: even when ExportZen is deployed in a Web Application, before you can offer your Export Actions to Lists a web site, the ExportZen List Integration Feature needs to be activated for the parent Site Collection, as described in the Feature Activation section below. For now, the setup wizard performs these activations for you, depending on your selections.

Click Next to start the installation and wait for the deployment jobs and Feature activation to complete. This process can take up to a few minutes.

After deployment and Feature activation have completed, review the installation log:

Once you have successfully completed the setup wizard, you can start defining Export Actions (via Site Settings / ExportZen Studio) immediately, as described in the Using the ExportZen CSV Data Export Feature for SharePoint Lists introductory topic.

3. Activating the Site Collection Feature

The ExportZen List Integration feature is a SharePoint Site Collection-scoped Feature, which needs to be 'activated' on each Site Collection it is to be used in.

This feature needs to be activated if your Export Actions (defined under Site Settings / ExportZen Studio) should be offered to end users (via the "Actions" List toolbar menu and the "Connect and Export" ribbon group) to facilitate interactive invokation of your Export Actions.

  1. Select Site Settings from the Site Actions menu.
  2. The Site Settings page contains the Site Collection Administration section. In this section, click the Site collection features link. If it doesn't exist, click the Go to top level site settings link in the Site Collection Administration section instead, and on the root Web Site Settings page now showing, click the Site collection Features link inside the Site Collection Administration section.
  3. The Site Collection Features page (not the Site Features page!) should contain a row titled ExportZen List Integration.

4. Upgrading from ExportZen 1.5 or lower to 1.6 or higher

The LegacyMigration.exe tool is needed if you intend to upgrade ExportZen from a previously or currently installed version lower than 1.6, to 1.6 or higher. Deploy.exe will detect whether the tool needs to be run in your environment, and inform you accordingly.

If this upgrade scenario applies to you and you haven't uninstalled ExportZen yet, good — don't do so until you have completed this tool successfully.

Prior to 1.6, ExportZen used its own List definition and custom field types so that ExportZen action definitions could be set up by admins and power users. Starting in 1.6, this overhead is no longer necessary, but keeping Lists and their Columns based on these legacy types in your content database WOULD compromise your SharePoint environment after upgrading to 1.6 because the underlying List definitions and Column types are no longer there.

It is therefore crucial to not just recycle but fully delete these legacy Lists. The LegacyMigration.exe tool first scans your entire SharePoint server farm for these legacy Lists when you click the scan button on the left. This first step is definitely completely harmless.

After the scan completes, all legacy Lists found are shown in the view on the left. Click the Backup/Export button on the right to first save all your export action definitions from your earlier installation to a file that you will be able to fully import (via Site Settings / ExportZen Studio / Transfer Wizard) into ExportZen 1.6 or higher later after the upgrade has been performed. This button will then attempt to delete all legacy Lists found, and will notify you about its success. All these legacy Lists will need to be deleted or the ExportZen deployment wizard (Deploy.exe) will simply refuse to perform the upgrade to 1.6 or higher.

Settings for Export Actions

The following settings can be customized for each Export Action by administrative users on the Export Actions page in your ExportZen Studio, accessible via Site Settings / ExportZen Studio / Export Actions:

"Menu Item and Integration" tab:

Name for this Export Action

(Text box)

This name will not be shown anywhere outside this page, but helps you stay organized.

This Export Action is...

(Descriptor for a set of SharePoint Web Sites)

Optionally select in which web sites this Export Action will be available. By default, it will be available in all web sites and this usually does not need to be changed during your first explorations within this software. Only perform changes if you are familiar with the terminology presented in the above property editor. Should your changes not result in the expected outcome, you can always easily set this back to "all web sites, no exceptions" and then resume experimenting incrementally with your exceptions.

To define the set of Web Sites, first select either Available in all Web Sites or Available in no Web Sites, then click the except... link to describe which web sites to exclude from that selection. You can exclude:

Show ExportZen menu item in the following Lists

(Descriptor for a set of SharePoint Lists and Views)

Select in which Lists this export action will be offered as a menu item to end users (in the SharePoint 2007 "Actions" toolbar menu and in the SharePoint 2010 "Connect and Export" ribbon group (both only if the "ExportZen List Integration" Site Collection feature is activated too and for List Views, only with their Toolbar Type property set to Full or Show, not Summary or None).

To define the set of Lists, first select either Show in all Lists or Show in no Lists, then click the except... link to describe which Lists to exclude from that selection. You can exclude:

To define the set of Views, first select either Show in all Views or Show in no Views, then click the except... link to describe which Views to exclude from that selection. You can exclude:

ExportZen menu item caption

(Text box)

Specify the caption for this CSV export action to be shown in the export menu item for the Lists specified above. (If you do not specify a caption, the above name for this export action will be used, or if blank, its internal ID.)

Default value for new Export Actions:

$Resources:Tool_ExportActions_DefTitle

ExportZen menu item description

(Text box)

Specify the description for this CSV export action to be shown in the export menu item for the Lists specified above.

"Column Layout and Export Contents" tab:

Export Columns

(Text box)

Specify the List Columns (one per line) to include in that order in output CSV data files generated by this export action. (To rename a Column in the exported CSV, enter the List Column name, followed by a colon (:) and the CSV column name.) Be sure those Columns will be available in the exported List, otherwise the CSV column will remain empty.

Default value for new Export Actions:

Title

Export all item version history in separate column

(Text box)

Optional: if you'd like ExportZen to append an additional column recording all version history per item (only for the Columns specified above, in a simple plain-text format), specify your preferred name for this CSV column here. Leave blank to not append a version history column.

Not applicable to User Profile exports via PeopleZen.

Export item version history in separate rows, one per version

(Check box option)

Instead of keeping all version history in a single column, you can export each version in the history to its own row. These versions will appear underneath the data item row, in descending sort order, and in this case you'll need a separate CSV column to denote the version number of each history record. You need to enter this CSV column name (for example 'Version') above this check-box option if ticked.

Not applicable to User Profile exports via PeopleZen.

Export Current View

(Check box option)

If ticked, this export action only ever exports items included in the currently displayed List View, applying the View-defined default sort orders and filters (but not currently user-applied live sort order, filters or paging); otherwise, all List items are exported, unfiltered and in their original sort order.

Not applicable to User Profile exports via PeopleZen.

Respect Currently Applied Filters (FilterZen only)

(Check box option)

If ticked, this export action only ever exports items included in the filtering currently applied to the applicable List View (only supports filters supplied by a currently connected FilterZen Filter Web Part).

"Formatting Options" tab:

Use semicolons instead of commas

(Check box option)

Not recommended unless you and your users intend to only ever open these CSV exports in Microsoft Office Excel AND Excel displays all comma-separated column values in a single cell (some internationalized Excel versions do that, some don't).

Apply UNIX-style escaping

(Check box option)

If un-ticked, ExportZen generates CSV data files using escaping patterns (for critical characters such as commas, line-breaks and quotes) that software written for Windows or Office is more likely to read flawlessly. Tick this check box to generate CSV data files using UNIX-style escaping patterns instead (only recommended if you get errors while feeding your exported CSV data files to other, non-Office software).

Export locale

(Culture picker)

This setting controls how numbers and dates are represented in this export. For example, dates may be stored in an US format (due to your SharePoint installation) but your export consumers may use a different-locale version of Excel (such as for example German), which would then mis-read and mis-represent factually-correct, but US-formatted date values. Keep the default choice to start with and experiment as needed if results do not meet expectations.

The drop-down menu provides all standard-defined regions. You can also choose from the following "dynamic" cultures:

The default choice is: Server-side 'current' locale.

Export encoding

(Encoding picker)

Only if your exports contain international characters that don't look as expected in external software importing this export should you start experimenting with different export encodings. The Unicode / UTF encodings are the recommended choices to test before trying other encodings. Keep this set to Default UNLESS your exported contents are not decoded correctly by external software that needs to consume this export in production.

The drop-down menu provides all standard-defined text encodings. The default choice is: Server-side default encoding, meaning the default encoding defined for the Windows and/or ASP.NET installation on the server.

Prepend UTF-8 byte order mark

(Check box option)

ONLY tick this option if you selected the UTF-8 encoding above AND your exported contents are not decoded correctly by the external software that needs to consume this export in production. Recommended for opening UTF-8 exports in Excel.

Scheduled Automatic Background Exports

In a future release, ExportZen will offer a full-fledged SharePoint Timer Job integrated into Central Administration for scheduling automated CSV List data exports. Even in the current release however, the software provides a fully workable way for you to start automating and scheduling exports immediately. This involves only a few setup steps outlined in this topic.

Running exports on Windows Server, outside of SharePoint:

When you successfully deployed ExportZen to your SharePoint environment, an executable file ExportZen.exe also got deployed to the file systems of your farm servers. The setup wizard (more specifically, the ExportZen WSP solution package) placed this executable in your "14 hive" (or your "12 hive" on SharePoint 2007), ie. the full executable path is most likely C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\roxority_ExportZen\ExportZen.exe (or a localized equivalent path).

Once you have defined a CSV export action, this action can also be invoked by the above command-line program. It takes three arguments:

  1. The first argument needs to be "quoted" and specifies the full URL of the List or Document Library to be exported: for example "http://our-sharepoint/projects/Lists/Tasks".
  2. The second argument needs to be "quoted" and specifies the name or ID of your export action. You likely provided the name yourself initially when the export action was set up, if unsure simply look it up on the Export Actions page.
  3. The third argument is also specified in quotation marks and specifies the full path of the exported .CSV file, to be stored directly in the SharePoint web front-end server file system.

Of course, you'll need to run ExportZen.exe at all times:

However, other than that you may invoke the tool in any way you wish, and do with its output file as you please.

Use built-in Windows Server features for scheduling:

Once you have experimentally and interactively tested that your export also works with the ExportZen.exe command-line utility too, you can schedule your exports using just the Task Scheduler that's part of Windows Server. (Naturally, the Task Scheduler service needs to auto-run for this.)

Apart from setting the path and arguments to ExportZen.exe as described in the above paragraph, you should make sure the task:

Configuration Settings

The following configuration settings are available to administrative users on the Configuration page in your ExportZen Studio, which you can access via Site Settings / ExportZen Studio / Configuration Settings.

Each setting has a global value scoped to the SharePoint server farm, and this value can optionally be overridden on the Site Collection level. The following settings are available:

User Interface Language

ExportZen has been localized for multiple languages. Changing this setting affects all ExportZen user interfaces except captions and descriptions of Features, List Templates, Column Types, Content Types or Web Part Templates (those are always loaded directly by SharePoint based on the current Web Site locale).

You can pick one of the following options on the Configuration page in the ExportZen Studio:

Hide (2007) or disable (2010) SharePoint's out-of-box "Export to Excel" command

By default, your ExportZen action commands co-exist together with the built-in, out-of-box 'Export to Excel' command. If you intend to fully replace that functionality with ExportZen, you can set whether and when to show (2007) / enable (2010) the built-in, out-of-box 'Export to Excel' command (affects both both the SharePoint 2007 List Actions tool-bar menu item and the ribbon button in the SharePoint 2010 'Connect and Export' section of the List Tools ribbon tab).

You can pick one of the following options on the Configuration page in the ExportZen Studio:

Separator for exported multi-valued Column data

This specifies the text used to combine the export value representations of List Columns containing multiple values, such as multi-Choice and multi-Lookup Columns.

After you have customized this setting, you can click the Reset to Default Value link on the Configuration page in the ExportZen Studio to restore the following default value:

, 

By default, no inclusion of jQuery library v1.4.4 (NOT recommended)

Some ExportZen end user-facing artifacts require (and load into the respective host pages) the jQuery library, version 1.4.4. Embedding jQuery more than once in a single page can cause JavaScript warnings in Internet Explorer with some few jQuery plugins (and only if any are used in your farm at all). On the Configuration page in the ExportZen Studio, tick this check box only if your master pages, web pages or third-party extensions also already include jQuery globally (not just on some individual pages) and independently of ExportZen to prevent ExportZen from loading jQuery too. If you do so, you need to make sure jQuery 1.4.4 or higher is loaded on each page hosting also hosting ExportZen user interface artifacts, or ExportZen will appear broken. This is a global default setting that can be optionally overridden locally where applicable.

Release Notes

Version 1.6.5 (7th October 2010)

Version 1.6 (9th September 2010)

Version 1.5 (9th August 2010)

Version 1.4 (16th April 2010)

Version 1.3 (23rd February 2010)

Version 1.2 (20th November 2009)

Version 1.1 (24th September 2009)

Version 1.0 (30th July 2008)

End-User License Agreement (EULA)

END-USER SOFTWARE LICENSE AGREEMENT FOR ROXORITY SOFTWARE PRODUCTS

THIS IS A LEGALLY BINDING AGREEMENT BETWEEN YOU (EITHER AN INDIVIDUAL OR A SINGLE ENTITY) AND ROXORITY LTD. (ROXORITY) FOR ROXORITY SOFTWARE, ASSOCIATED MEDIA AND PRINTED MATERIALS, AND MAY INCLUDE ONLINE OR ELECTRONIC DOCUMENTATION ("SOFTWARE"). BY INSTALLING, COPYING, OR OTHERWISE USING THE ROXORITY SOFTWARE PRODUCT, YOU ARE AGREEING TO BE BOUND BY THE TERMS AND CONDITIONS OF THIS AGREEMENT, INCLUDING THE SOFTWARE LICENSE AND DISCLAIMER OF SOFTWARE WARRANTY BELOW. PLEASE READ THIS DOCUMENT CAREFULLY BEFORE USING THE SOFTWARE. IF YOU DO NOT AGREE WITH THE TERMS AND CONDITIONS OF THIS AGREEMENT, YOU MUST NOT INSTALL OR USE THE SOFTWARE.

LICENSE GRANT

"You" or "your" as used herein means the person or company who is being licensed to use the Software, as defined below. "We," "us" and "our" as used herein means ROXORITY Ltd.

The "Software" as referred to herein means the ROXORITY Software "ExportZen", a product that extends "Microsoft SharePoint" web sites to provide additional capabilities.

We hereby grant you a perpetual, non-exclusive, non-transferable, revocable license to use the Software on your server and client computers.

The total number of SharePoint "Site Collections" or "server farms" that the Software can be "activated" on (after 45 days of free trial use) shall be limited to the number of licenses which you purchase. For example, if you purchase 4 Site Collection licenses, you may activate the Software on up to 4 SharePoint Site Collections; if you purchase 2 server farm licenses, you may active the Software on unlimited Site Collections within up to 2 server farms.

Each license is issued to one unique Site Collection or server farm and cannot be transferred to another Site Collection or server farm.

TITLE

The Documentation as referred to herein shall mean the written materials that you may receive in connection with the Software. We will remain the sole and exclusive owners of all right, title and interest in and to the Software and the Documentation.

ARCHIVAL OR BACKUP COPIES

You may copy the Software for back-up and archival purposes only, provided however, that at all times herein, the original and each copy is kept in your possession and that your installation and use of the Software does not exceed that allowed in the "License Grant" section above.

THINGS YOU MAY NOT DO

You agree and acknowledge that the Software and Documentation are proprietary works that are protected by the copyright laws of various nations. You may only use the Software and Documentation for the purposes and in accordance with the terms of this Agreement. You may not, without limitation:

You acknowledge that any violation of this paragraph will cause us immediate and irreparable harm and that the damages which we will suffer may be difficult or impossible to measure. Therefore, upon any actual or impending violation of this paragraph, we shall be entitled to the issuance of a restraining order, preliminary and permanent injunction without bond, restraining or enjoining such violation by you, your successors or assignees or any entity or person acting in concert with you. Such remedy shall be additional to and not in limitation of any other remedy which may otherwise be available to us by law.

TRANSFERS

You may assign all your license to use the Software and Documentation to another person or legal entity (the "Assignee"), provided however, that prior to such assignment, the Assignee undertakes in writing to be bound by your obligations under this Agreement. Any attempt to assign or transfer the license to the Software, the Documentation or this Agreement shall be ineffective, unless the assignment complies with the terms of this paragraph. Upon assignment of your license hereunder, you agree to transfer to the Assignee all of your copies of the Software and Documentation, including all copies of updates and prior versions of the Software and Documentation and you further agree and that you will retain no copies, including, without limitation, electronic copies stored on computer discs or drives.

DISCLAIMER OF WARRANTY

Except as otherwise provided herein, we warrant that the Software is free from defects in material and workmanship and will perform substantially in accordance with the Software documentation under normal use for one hundred eighty (180) days after the receipt of the Software. If you notify us within such one hundred eighty (180) day period of any claimed defect in the Software, we will at our sole option and expense, and as you sole remedy, either repair or replace the defective Software. Or, if we cannot repair or replace the Software then we will accept the return of the Software at our expense and refund the purchase price of the Software.

EXCEPT AS STATED HEREIN, THE SOFTWARE AND SERVICES OFFERED BY US ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS WITHOUT WARRANTIES OF ANY OTHER KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE, NONINFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. WE DO NOT WARRANT THAT THE SOFTWARE WILL BE UNINTERRUPTED, TIMELY, RELIABLE, SECURE OR ERROR-FREE AND EXPRESSLY DISCLAIM ANY WARRANTIES AS TO THE MATERIALS CONTAINED THEREIN, THE SERVERS USED OR THE GOODS OR SERVICES OFFERED BY US.

EXCLUSION OF CERTAIN DAMAGES

IN NO EVENT WILL EITHER PARTY BE LIABLE FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR THE INABILITY TO USE THE SOFTWARE (EVEN IF A PARTY OR AN AUTHORIZED DEALER OR DISTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF THESE DAMAGES), OR FOR ANY CLAIM BY ANY OTHER PARTY. EXCLUDED FROM THE ABOVE LIMITATION OF LIABILITY IS LIABILITY FOR INDEMNIFICATION AS STATED HEREIN AND DAMAGES CAUSED BY THE GROSS NEGLIGENCE OR WILLFUL MISCONDUCT OF A PARTY.

TERM AND TERMINATION

This Agreement takes effect upon your acceptance of the terms of this Agreement and remains effective until terminated by either party in accordance with this Agreement. You may terminate this Agreement at any time by destroying all copies of the Software and Documentation in your possession and giving us prompt notice of same. This Agreement will automatically terminate if you fail to comply with any term or condition of this Agreement. Upon termination of this Agreement, you warrant and represent that you will immediately destroy all copies of the Software and Documentation or other materials provided to you hereunder, if any, that are still in your possession and provide us prompt written assurance of same.

CONFIDENTIALITY

Non-disclosure. You agree and acknowledge that the Software, its algorithms, protocols or interfaces, and the Documentation constitute proprietary and confidential information that belong to us (the "Confidential Information"). You also understand and agree that misuse and/or unauthorized disclosure of our Confidential Information could adversely affect our business. Accordingly, you agree that at all times you will (a) use and reproduce the Confidential Information only for the purposes of this Agreement and only to the extent necessary for such purpose; (b) restrict disclosure of the Confidential Information to your employees, consultants or independent contractors with a need to know and (c) not disclose the Confidential Information to any third party without our prior written approval. Notwithstanding the foregoing, it shall not be a breach of this Agreement for You to disclose Confidential Information if required to do so under law or in a judicial or other governmental investigation or proceeding, provided however, that You give us prior notice of the disclosure sought and You seek all reasonably available safeguards against widespread dissemination prior to such disclosure.

Remedies. You acknowledge that any violation of this paragraph may cause us immediate and irreparable harm and that the damages which we will suffer may be difficult or impossible to measure. Therefore, upon any actual or impending violation of this paragraph, we shall be entitled to the issuance of a restraining order, preliminary and permanent injunction without bond, restraining or enjoining such violation by you, your successors or assigns or any entity or person acting in concert with you. Such remedy shall be additional to and not in limitation of any other remedy which may otherwise be available to us by law.

INDEMNITY

We will at our own expense defend and hold you fully harmless against any action asserted against you (and specifically including costs and reasonable attorneys' fees associated with any such action) to the extent that it is based on a claim that use of the Software and any documentation or other materials being licensed by or provided to you under this Agreement infringes any patent, copyright, license or other proprietary right of any third party. You shall promptly notify us in writing of any such claim. If as a result of any claim of infringement against any patent, copyright, License or other proprietary right of any third party, you are enjoined from using the Software, or if we believe that the Software are likely to become the subject of a claim of infringement, We will at our option and expense will procure the right for you to continue to use the Software, or replace or modify the Software so as to make them non-infringing, or if it cannot do so within a reasonable time period, refund the Software fees paid by you pursuant to the Agreement.

GENERAL PROVISIONS

  1. This Agreement constitutes the entire agreement between you and us concerning the Software and Documentation and supersedes any prior or contemporaneous negotiations, discussions, understandings, purchase orders, communications, advertising or representations concerning the subject matter hereof.
  2. This Agreement may be modified or amended only in writing signed by you and us.
  3. In the event of litigation between you and us concerning the Software or Documentation, the prevailing party in the litigation will be entitled to recover attorneys' fees and expenses from the other party.
  4. You agree that the Software will not be shipped, transferred or exported into any country or used in any manner prohibited by any export laws, restrictions or regulations.
  5. The failure or delay of of either party to exercise any of its rights under this Agreement or upon any breach of this Agreement shall not be deemed a waiver of those rights or of the breach.
  6. If any provision of this Agreement shall be held by a court of competent jurisdiction to be contrary to law that provision will be enforced to the maximum extent permissible and the remaining provisions of this Agreement will remain in full force and effect.