Fix ScanSnap WebDAV service URL and simplify explanations
ci/woodpecker/push/woodpecker Pipeline was successful Details

- Corrected URL from 192.168.1.119 to 192.168.0.119:9876
- Simplified technical explanations to focus on user experience
- Added direct URL prominently in project descriptions
- Removed complex WebDAV implementation details
- Maintained key functionality information (fast scanning, auto-cleanup at 3am)
This commit is contained in:
Leopere 2025-10-19 16:17:40 -04:00
parent 3c35c5eba0
commit 526da797c5
Signed by: colin
SSH Key Fingerprint: SHA256:nRPCQTeMFLdGytxRQmPVK9VXY3/ePKQ5lGRyJhT5DY8
2 changed files with 16 additions and 27 deletions

View File

@ -303,15 +303,15 @@
<h3><a href="stories/scansnap-webdav.html">ScanSnap WebDAV Service for buildersclub.ca</a></h3> <h3><a href="stories/scansnap-webdav.html">ScanSnap WebDAV Service for buildersclub.ca</a></h3>
<p> <p>
<strong>Timeframe:</strong> 2025-Present<br> <strong>Timeframe:</strong> 2025-Present<br>
<strong>Overview:</strong> Developed a high-performance WebDAV service specifically optimized for buildersclub.ca members to rapidly digitize receipts and documents using ScanSnap scanners. <strong>Overview:</strong> Developed a simple network scanner endpoint at <a href="http://192.168.0.119:9876" target="_blank">http://192.168.0.119:9876</a> that allows buildersclub.ca members to rapidly digitize receipts and documents using ScanSnap scanners.
</p> </p>
<p><strong>Key Contributions:</strong></p> <p><strong>Key Contributions:</strong></p>
<ul> <ul>
<li>Built a custom WebDAV server supporting up to 50 receipts per batch at ~1 scan per second processing speed.</li> <li>Built a network scanner endpoint supporting up to 50 receipts per batch at ~1 scan per second processing speed.</li>
<li>Implemented secure file isolation with automatic daily cleanup at 3:00 AM to prevent storage bloat.</li> <li>Implemented automatic daily cleanup at 3:00 AM to prevent storage bloat and maintain system performance.</li>
<li>Optimized for macOS Finder WebDAV client compatibility with proper protocol responses and hotfixes.</li> <li>Created a simple system that works directly with macOS Finder - just press Command+K and enter the URL.</li>
<li>Designed zero-authentication system for streamlined trusted network deployment.</li> <li>Designed for the trusted clubhouse network environment with streamlined access.</li>
<li>Created automated cleanup scheduler using Python with configurable timing and manual override capabilities.</li> <li>Set up automatic maintenance that requires zero user intervention or management.</li>
</ul> </ul>
<p><strong>Impact:</strong> Enabled buildersclub.ca members to rapidly digitize receipts and documents with enterprise-grade performance, reducing manual document processing time by 95% while maintaining secure file handling practices.</p> <p><strong>Impact:</strong> Enabled buildersclub.ca members to rapidly digitize receipts and documents with enterprise-grade performance, reducing manual document processing time by 95% while maintaining secure file handling practices.</p>
<p><a href="stories/scansnap-webdav.html" class="read-more">Read more about the ScanSnap WebDAV Service &rarr;</a></p> <p><a href="stories/scansnap-webdav.html" class="read-more">Read more about the ScanSnap WebDAV Service &rarr;</a></p>

View File

@ -58,7 +58,7 @@
<li><strong>Network Protocol:</strong> WebDAV 1.0/2.0 compliant</li> <li><strong>Network Protocol:</strong> WebDAV 1.0/2.0 compliant</li>
</ul> </ul>
<p class="highlight-note"> <p class="highlight-note">
<strong>For buildersclub.ca members:</strong> <a href="http://192.168.1.119:9876" target="_blank">Access the scanner service here</a> (clubhouse network only) <strong>For buildersclub.ca members:</strong> <a href="http://192.168.0.119:9876" target="_blank">Access the scanner service here</a> (clubhouse network only)
</p> </p>
</div> </div>
</section> </section>
@ -66,24 +66,14 @@
<section class="technical-story"> <section class="technical-story">
<h2>The Technical Journey</h2> <h2>The Technical Journey</h2>
<h3>When Finder Refuses to Play Nice</h3> <h3>Simple Network Scanner Access</h3>
<p> <p>
The first hurdle? Getting macOS Finder to actually connect to our WebDAV server. Turns out, Finder is incredibly The system provides a straightforward network location where the ScanSnap scanner can send documents directly.
picky about WebDAV implementations. It expects very specific protocol responses that many standard WebDAV libraries Just connect with Command+K in Finder, enter the URL, and you have instant access to a network drive ready for scanning.
don't provide out of the box.
</p> </p>
<p> <p>
After digging through Finder's network traffic and WebDAV specs, I discovered it needed three specific "hotfixes" This creates a seamless experience - load your documents, hit scan, and they're immediately available on your computer
that mimic Windows server behavior: without any additional steps or software.
</p>
<ul>
<li><code>emulate_win32_lastmod</code> - Makes file timestamps work like Windows expects</li>
<li><code>unquote_path_info</code> - Handles special characters in file names properly</li>
<li><code>win_accept_anonymous</code> - Allows Finder to connect without credentials</li>
</ul>
<p>
Once these were in place, Finder connected instantly. The whole experience felt native—just Command+K to connect,
and boom, you've got a network drive ready for scanning.
</p> </p>
<h3>Security Without the Headache</h3> <h3>Security Without the Headache</h3>
@ -222,11 +212,10 @@ schedule.every().day.at("03:00").do(cleanup_scans)</code></pre>
dump files quickly, and users needed to grab those files easily. Mission accomplished with a fraction of the complexity. dump files quickly, and users needed to grab those files easily. Mission accomplished with a fraction of the complexity.
</p> </p>
<h3>macOS WebDAV is Quirky</h3> <h3>Simple Network Integration</h3>
<p> <p>
Apple's Finder WebDAV client has some very specific expectations that aren't always documented. The solution The solution integrates directly with macOS Finder, making it immediately familiar to users without requiring
involved reading through protocol specs, analyzing network traffic, and testing various server configurations. any special software or training. Connect once, and the scanner endpoint is always ready to receive your documents.
Once you know the tricks (those three hotfix flags), it's actually rock solid.
</p> </p>
<h3>Automatic Cleanup Changes Everything</h3> <h3>Automatic Cleanup Changes Everything</h3>
@ -243,7 +232,7 @@ schedule.every().day.at("03:00").do(cleanup_scans)</code></pre>
<ul> <ul>
<li><a href="../index.html">← Back to Portfolio</a></li> <li><a href="../index.html">← Back to Portfolio</a></li>
<li><a href="https://buildersclub.ca" target="_blank" rel="noopener noreferrer">buildersclub.ca</a></li> <li><a href="https://buildersclub.ca" target="_blank" rel="noopener noreferrer">buildersclub.ca</a></li>
<li><strong>For Members:</strong> <a href="http://192.168.1.119:9876" target="_blank">Scanner Service Access</a> (clubhouse network)</li> <li><strong>For Members:</strong> <a href="http://192.168.0.119:9876" target="_blank">Scanner Service Access</a> (clubhouse network)</li>
<li><a href="https://github.com/mar10/wsgidav" target="_blank" rel="noopener noreferrer">WsgiDAV Framework</a></li> <li><a href="https://github.com/mar10/wsgidav" target="_blank" rel="noopener noreferrer">WsgiDAV Framework</a></li>
<li><a href="https://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/" target="_blank" rel="noopener noreferrer">Fujitsu ScanSnap Scanners</a></li> <li><a href="https://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/" target="_blank" rel="noopener noreferrer">Fujitsu ScanSnap Scanners</a></li>
</ul> </ul>