Support Thread

APG vNext 5.0 - mobile phone upload, IE11 compatibility, and more...

📅 👤 ASP Playground
APG vNext 5.0 - mobile phone upload, IE11 compatibility, and more... — APG vNext Guide

This community thread discusses the feature or improvement: APG vNext 5.0 - mobile phone upload, IE11 compatibility, and more....

Feature Details

APG vNext version 5.0 is around the corner. There are many important enhancements over v4:Mobile Device File UploadYou'll be able to attach photos from your...

How APG vNext Handles Feature Requests

Feature requests and suggestions are tracked through the community forum. The development team reviews popular requests and incorporates the most-requested improvements into upcoming releases.

  • Vote for features by upvoting the original post in the forum thread
  • Add details about your use case to help prioritize the request
  • Check the release blog for updates on upcoming features

See the full feature set on the Features page or browse all community discussions.

APG vNext 5.0 — The Major Version Milestone (feature detail and technical discussion)

APG vNext 5.0 represented the most significant version bump since the vNext rewrite. The two headline features — mobile device file upload and Internet Explorer 11 compatibility — addressed the two most common complaints from communities whose members were shifting to mobile-first browsing in the mid-2010s. The "and more" in the release title covered a substantial list of improvements accumulated from the 4.x feedback cycle.

Mobile Phone File Upload

Prior to 5.0, attaching photos from a mobile phone required the desktop version of the browser or a third-party workaround. The mobile upload limitation was rooted in the HTML file input control's behaviour on iOS and Android WebView — specifically, the accept attribute for camera capture was not supported in the APG vNext 4.x upload control.

APG vNext 5.0 replaced the legacy file input with an HTML5-compliant upload control that:

  • Supports accept="image/*;capture=camera" on mobile browsers
  • Allows selection from the device gallery (not just the camera)
  • Performs client-side image size validation before upload to reduce server load
  • Shows an upload progress indicator — critical for mobile connections with variable speed
<!-- APG vNext 5.0 upload control configuration in web.config -->
<appSettings>
  <add key="APG.Upload.MaxSizeMB"      value="10" />
  <add key="APG.Upload.AllowedTypes"   value="jpg,jpeg,png,gif,pdf,zip" />
  <add key="APG.Upload.MobileCompress" value="true" />
  <add key="APG.Upload.ThumbWidth"     value="800" />
</appSettings>

Internet Explorer 11 Compatibility

IE11 compatibility in 5.0 was not simply a CSS fix — it required replacing several JavaScript components that relied on ES6 features unavailable in IE11 (arrow functions, template literals, Promise, fetch). The 5.0 build process added a Babel transpilation step for the JavaScript bundle and replaced the fetch API calls with an XMLHttpRequest polyfill for IE11 detection.

If you are running APG vNext 5.0 and still see IE11 issues, check that your IIS is sending the correct X-UA-Compatible header:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-UA-Compatible" value="IE=edge" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Migrating From APG vNext 4.x to 5.0

The 4.x → 5.0 upgrade is a major version jump and carries more risk than a minor version upgrade. Plan for a maintenance window of 1–2 hours and follow the migration guide precisely.

Breaking Changes in 5.0

  • Custom skin files from 4.x are not compatible with 5.0. You must port CSS customisations manually to the 5.0 skin structure
  • The upfiles folder structure changed — a migration script moves existing attachments to the new path
  • Three deprecated admin API endpoints removed; custom plugins using those endpoints need updating

Upgrade Sequence

  1. Upgrade to APG vNext 4.5 first if not already on it
  2. Back up database with BACKUP DATABASE ... WITH COMPRESSION
  3. Back up full application directory including all skin files
  4. Deploy 5.0 application files to a staging environment first
  5. Run upgrade_4.5_to_5.0.sql against the staging database copy
  6. Test all core functions: post, upload, login, email, search, moderation
  7. Port CSS customisations to the 5.0 skin
  8. Run migration script for upfiles folder restructure
  9. Deploy to production during low-traffic window

Performance Impact of the 5.0 Mobile Upload Feature

The client-side image resize feature in APG vNext 5.0 APG.Upload.MobileCompress=true uses the HTML5 Canvas API to downscale images before uploading. This has a measurable effect on server storage and bandwidth costs. In practice, a typical iPhone photo taken at 12MP is 4–8MB. After client-side compression and resizing to 800px wide (the default APG.Upload.ThumbWidth), it uploads at 200–400KB. For communities with 100+ daily image uploads, this translates to significant storage savings.

Monitoring Upload Volume

-- Query attachment storage usage over the last 30 days:
SELECT
    CAST(UploadDate AS DATE) AS UploadDay,
    COUNT(*) AS AttachmentCount,
    SUM(FileSizeBytes) / 1048576.0 AS TotalMB
FROM apg_Attachments
WHERE UploadDate > DATEADD(DAY, -30, GETDATE())
GROUP BY CAST(UploadDate AS DATE)
ORDER BY UploadDay DESC;

Troubleshooting Mobile Upload Failures

If mobile uploads fail while desktop uploads succeed, check the following in order:

  1. Verify APG.Upload.MobileCompress is set to true — without compression, a raw 8MB phone photo may exceed the IIS content length limit
  2. Check the browser console on mobile (Chrome DevTools remote debugging) for JavaScript errors during the Canvas resize step
  3. Confirm the upload endpoint URL is accessible without any authentication redirect that only affects mobile user agents (some WAF rules target mobile UAs differently)
  4. Test with a small 100KB image — if this succeeds but large images fail, it's the content length limit, not a mobile-specific bug

Tapatalk Integration in APG vNext 5.0

APG vNext 5.0 also introduced official Tapatalk plugin support. Tapatalk is a mobile forum reader app with a large established user base, particularly in hobbyist and niche communities. Enabling the Tapatalk integration exposes your forum to the Tapatalk directory, potentially bringing in members who browse multiple forums through the Tapatalk app.

<!-- Enable Tapatalk in web.config -->
<add key="APG.Tapatalk.Enabled"    value="true" />
<add key="APG.Tapatalk.APIKey"     value="your-tapatalk-api-key" />
<add key="APG.Tapatalk.ListInDir" value="true" />

Register your forum at tapatalk.com/register to obtain an API key. Once enabled, the Tapatalk app detects your forum automatically when users enter your forum URL.

Related Resources

5.0 Migration Support


Looking for more help? Browse the support forum or check the Knowledge Base.