Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Overview

The first time a browser hits a sharepoint site after a restart, the caches are empty, so the page can take a while to load. One can script something to silently hit a sharepoint web-frontend, causing it to build caches and preventing any real people from experiencing that.

This tool does this for a specific circumstance where it’s kind of hard to script it without better tools - where normal NTML authentication doesn’t work, because there is ADFSv3 authentication configured, and where there may be a number of web-frontends behind a load balancer.

I don’t know why this is required. I’m not a sharepoint admin. Maybe it’s an artifact of a particular setup.

Installation

This may work in Python 2, but many distributions of Python 2 do not include urllib that has SNI support. Since this is a sysadmin tool, you probably want it to “just work”, so “just use Python 3.4”.

Simple install: pip install sharepointcacheprimer

Usage

The pypi package installs an executable in the standard python location, called ‘sharepointcacheprimer‘.

usage: sharepointcacheprimer [-h] config site [site ...]
example: sharepointcacheprimer myconfig.ini mysite.com mysite2.com

This will connect to a sharepoint site, authenticate and load a page silently. It is suited to running as a cronjob/scheduled task.

The configuration file is formatted as a .ini. The packages ships with an example file that is installed in PYTHONROOT/doc/, and described below.

Configuration

>From the included doc/example.ini

Each section is either a site definition or a cookieset definition.

A Site Definition

This is a sharepoint site, with ADFS credentials and an optional reference to a cookieset to use.

[example.com]               ; Site: example.com
username = domain\user1     ; ADFS username
password = password1        ; ADFS password
url = http://example.com    ; URL that for site to prime
cookielist = examplecookies ; Optional sectionname for Cookie Sets

A Cookieset Definition

Every line is a cookie, as “COOKIENAME = value1,value2,value3”. For each value of each cookie, the site will be primed once. This allows a site pool that uses a cookie-based load balancer to force iterating through every web frontend via cookies.

In the below example, the cookie “LB-COOKIE” will be set for each of three attempts, using the values abc1, abc2, and abc3 respectively. If more than one list of cookies is below, that will just be an additional iteration. For example, another line with 2 more values would cause a total of 5 priming attempts with 5 unique cookie values.

[examplecookies]            ; The label referenced above
LB-COOKIE = abc1,abc2,abc3  ; A cookie list, comma-delimited

Metadata

Release files for sharepointcacheprimer 1.0b3.post5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sharepointcacheprimer 1.0b3.post5
File Size Uploaded
sharepointcacheprimer-1.0b3.post5.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sharepointcacheprimer 1.0b3.post5
File Interpreter ABI Platform
sharepointcacheprimer-1.0b3.post5-py3-none-any.whl Python 3 none any Details

Total release size: 12.6 kB

Release files / sharepointcacheprimer-1.0b3.post5.tar.gz

Download URL sharepointcacheprimer-1.0b3.post5.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ab8be031c7887263c7dfa4d79d7f2c568d91aca074c2870aeb1e861eb71e2c05
BLAKE2b-256 checksum
How to use checksums
52216dc99024ee0e0cd7b6143b093d425032d603edcc8bd88513d39f0531c11e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / sharepointcacheprimer-1.0b3.post5-py3-none-any.whl

Download URL sharepointcacheprimer-1.0b3.post5-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
274cfcd034d0fcab93969f635081a75c7ee292fabcbbe438fc67caad6442be58
BLAKE2b-256 checksum
How to use checksums
5f68981ae5fcde712974cd3a2617137dd071206e6966c4f788b438f785a39cf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page