Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: stevereiner/python-alfresco-api

Release v1.1.5 - 15 Subclients completed, Path-Based Node Retrieval, Timeout Fixes (1.1.2-1.1.5)

15 Dec 04:54
@stevereiner stevereiner

Choose a tag to compare

Release v1.1.5

This release includes improvements from versions 1.1.2 through 1.1.5, covering completion of 15 subclients, path-based node retrieval, timeout handling, and custom content type fixes.

Highlights (v1.1.2 - v1.1.5)

v1.1.5 (December 14, 2025)

  • Path-Based Node Retrieval - Get nodes by path using relative_path parameter (leverages REST API's relativePath)
  • Custom Content Type Fix - Resolved validation errors with custom Alfresco content models
  • Bug Fixes - Fixed create_folder() missing parameters

v1.1.4 (October 1, 2025) - Major Feature Release

  • 15 Subclients Completed - Implemented full functionality for authentication, people, sql, favorites, sites, groups, preferences, tags, shared_links, trashcan, audit, networks, aspects, types, and deployments subclients
  • 136 New Methods - Added 136 API methods across the 15 newly implemented subclients
  • All 31 Subclients Now 100% Functional - Complete API coverage across all Alfresco REST APIs

v1.1.3 (September 30, 2025)

  • Timeout Handling Fix - Fixed timeout configuration in 16 subclients
  • Improved Architecture - Subclients now share raw client from parent for better efficiency

v1.1.2 (September 29, 2025)

  • Timeout Configuration System - Complete overhaul removing hardcoded 30-second defaults
  • Environment Support - Added ALFRESCO_TIMEOUT environment variable

What's New in v1.1.5

Added

  • Path-Based Node Retrieval: Use relative_path parameter to get nodes by path

    # Get node by path (uses REST API's relativePath parameter)
    node = client.nodes.get("-root-", relative_path="Sites/mysite/documentLibrary/file.pdf")
    • Available in: get_node(), get_node_async(), get_node_detailed(), get_node_detailed_async()
    • Automatically converts Python's relative_path to REST API's relativePath query parameter
  • **kwargs Support: Future-proof for new API parameters

    • All get_node methods support additional parameters via **kwargs

Fixed

  • Custom Content Type Validation: Resolved ValidationError with custom Alfresco content models

    • Now works with any custom type like fin:stock, acme:invoice, legal:contract, etc.
    • NodeType changed from strict Enum to flexible namespace class
    • Standard types still available as constants (NodeType.CONTENT, NodeType.FOLDER)
  • Create Folder Methods: Fixed missing versioning_enabled and major_version parameters

    • create_folder() and create_folder_async() now properly handle all required parameters

Major Feature: 15 Subclients Completed (v1.1.4)

Prior to v1.1.4, 15 subclients had placeholder implementations. Now they're fully functional:

Completed Subclients:

  • Authentication (login, logout, ticket management)
  • People (user management, preferences, avatars)
  • Sites (site creation, membership, roles)
  • Groups (group management, membership)
  • Favorites (favorites management)
  • Preferences (user preferences)
  • Tags (tagging functionality)
  • Shared Links (link sharing)
  • Trashcan (deleted items management)
  • Audit (audit logs)
  • Networks (network information)
  • SQL (SQL-like search queries)
  • Aspects (aspect management)
  • Types (type definitions)
  • Deployments (deployment information)

Total: 136 new methods providing complete Alfresco REST API coverage!


Installation

pip install python-alfresco-api==1.1.5

Upgrade from 1.1.1

pip install --upgrade python-alfresco-api

All changes are backward compatible!


Example: Path-Based Node Retrieval

from python_alfresco_api import ClientFactory
client = ClientFactory(...).create_core_client()
# Get node by path (uses REST API's relativePath parameter)
graphrag_file = client.nodes.get(
 "-root-",
 relative_path="Shared/GraphRAG/document.txt"
)
# Works with sites
contract = client.nodes.get(
 "-root-",
 relative_path="Sites/mysite/documentLibrary/contracts/contract.pdf"
)
# Navigate from any starting point
sites_root = client.nodes.get("-root-", relative_path="Sites")
site_doc = client.nodes.get(
 sites_root.entry.id,
 relative_path="mysite/documentLibrary/file.pdf"
)

Example: Custom Content Types (Fixed)

# Now works with custom content models!
stock_doc = client.nodes.get("-root-", relative_path="Shared/ibm-stock.txt")
print(f"Type: {stock_doc.entry.node_type}") # fin:stock (no ValidationError!)
print(f"Ticker: {stock_doc.entry.properties['fin:ticker']}") # IBM
print(f"Exchange: {stock_doc.entry.properties['fin:exchange']}") # NYSE

Full Changelog

See CHANGELOG.md for complete details on all changes from v1.1.2 through v1.1.5.

Documentation


What's Included

31 Complete Subclients across 7 main APIs:

  • Core API (18 subclients)
  • Authentication API
  • Discovery API
  • Search API
  • Workflow API (2 subclients)
  • Model API (3 subclients)
  • Search SQL API

Key Features:

  • ✅ Custom content model support
  • ✅ Path-based navigation
  • ✅ Proper timeout handling throughout
  • ✅ Full async/sync support
  • ✅ Pydantic v2 models
  • ✅ MCP server compatible
  • ✅ 100% backward compatible

Contributors

Thanks to everyone who reported issues and provided feedback!

License

Apache License 2.0

Assets 4
Loading

🎉 python-alfresco-api v1.1.1 - Release

21 Jul 17:45
@stevereiner stevereiner

Choose a tag to compare

Loading

🎉 python-alfresco-api v1.1.0 - Release

21 Jul 10:40
@stevereiner stevereiner

Choose a tag to compare

Loading

🎉 python-alfresco-api v1.0.0 - Initial Release

25 Jun 04:36
@stevereiner stevereiner

Choose a tag to compare

Loading

AltStyle によって変換されたページ (->オリジナル) /