UnifiedFiler Product v1.0.0 ================================================ Product Version: 1.0.0 Development Version: dev-2.1.0 Development Milestone: 2.1.0 Public API Version: 1.0 Backend API Contract: 1.0 Build Version: 20260610.002 Release Type: Initial Product Release UnifiedFiler is a reusable Host-embedded File Operation Control Framework for iToolkits systems. It provides FileExplorer, FilePicker, FileSaver, FileService, StorageAdapter, Preview, Metadata, Google Drive, Backend API, Security, and Host integration components. Version policy -------------- This package separates public product versions from internal development versions. - Product v1.0.0 is the first public product release. - dev-2.1.0 is the internal development milestone that produced this product release. - Earlier labels such as v1.9.x, v2.0.0, and v2.1.0 in historical notes are development milestones. - Host integrations should use productVersion/version and apiVersion for compatibility checks. See docs/VERSIONING_POLICY.md for the common versioning policy. See docs/PRODUCT_RELEASE_1_0_0.md for product release notes. See docs/HOST_SIDE_INTEGRATION_SPEC.md for the Host-side implementation specification. Concept ------- UnifiedFiler provides file-operation components such as FileExplorer, FilePicker, and FileSaver. These are embeddable functional bodies. They are not the Host, Desktop, or App Launcher themselves. The Host system is responsible for launch, window management, authentication, tenant context, permissions, and app-to-app integration. Architecture ------------ Host systems should use the Control APIs. Internal jQuery-based Views are owned by Controls. Host -> UnifiedFilerControl / FileExplorerControl / FilePickerControl / FileSaverControl -> CommandRegistry / StateStore / EventBus / Service / Adapter -> internal jQuery View / Controller components Main components --------------- - FileExplorer: Explorer-style file manager UI. - FilePicker: Host-embedded file/folder selection dialog. - FileSaver: Save As / Export / Package Save dialog. - CommandRegistry: unified operation layer for toolbar/context menu/shortcut/Host exec(). - CreateTypeRegistry: Host-defined New/Create item types. - PreviewProviderRegistry: Host-defined preview renderers. - StorageAdapter: AppStorage, This Device/LocalDisk, Backend API, Google Drive. - SecurityPolicyService: path/name/upload/MIME/extension/package safety checks. - PermissionPolicyService: role/capability UI support. - Backend API Contract v1.0: replaceable PHP/NodeJS backend integration. Structure --------- scripts/ UnifiedFiler AMD modules. The package entry module is scripts/main.js. themes/ Product component themes. The default theme is themes/default/unified-filer.css. demo/ Runnable HTML samples showing how to embed UnifiedFiler components. Demo files are usage examples only and are not the product body. docs/ API, Host-side implementation specification, integration, product release, backend contract, security, and changelog documents. samples/ Backend API sample implementations for Node.js and PHP. Development rules ----------------- - jQuery 2.1.4 fixed. - jQuery UI 1.12.1. - Font Awesome 4.7.0 is optional for enhanced icons. - RequireJS / AMD. - Classic script loading. - ES6 class syntax. - No React / Vue. - HTTP server execution, not file://. - IndexedDB / LocalStorage as development data-layer substitute. - Backend API adapter is replaceable with PHP or NodeJS service implementations. - Google Drive adapter uses browser JavaScript directly with Google Identity Services, Drive API v3, and fetch. - No client secret, backend proxy, or server-side Google Drive upload endpoint is required. - Initial i18n: English, Japanese, Chinese. Basic AMD usage --------------- A Host system should mount the package with a single RequireJS alias such as: paths: { UnifiedFiler: '/assets/unified_filer/scripts' } Then load the package entry with: require(['UnifiedFiler/main'], function (UnifiedFiler) { console.log(UnifiedFiler.productVersion); // 1.0.0 console.log(UnifiedFiler.developmentVersion); // dev-2.1.0 var explorer = UnifiedFiler.createExplorer('#explorer', { defaultStorage: 'appStorage', storageTypes: ['appStorage', 'localDisk', 'backendApi', 'googleDrive'] }); explorer.mount(); }); Compatibility ------------- The public product API version is 1.0. Host systems should check: UnifiedFiler.productVersion UnifiedFiler.apiVersion UnifiedFiler.contractVersion The following compatibility APIs are available: UnifiedFiler.getPublicApiContract() UnifiedFiler.runRegressionTests() Google Drive note ----------------- Google Drive integration is frontend-only. The browser performs OAuth using Google Identity Services and calls Google Drive API v3 directly using fetch. The Host must provide its own Google API key, OAuth client ID, app ID, scopes, and authorized origin configuration. Acceptance testing note ----------------------- This product package is ready for Host integration and acceptance testing. Google Drive OAuth, Shared Drive, Workspace export, and large-file upload behavior must be validated in the real Host Google Cloud/OAuth environment.