{"id":45832,"library":"products-cmfcore","title":"Products.CMFCore","description":"Products.CMFCore is the core package of the Zope Content Management Framework (CMF), providing fundamental components like portal tools, actions, and member data. Current version is 3.9, requiring Python >= 3.10. Release cadence is irregular, tied to Zope's maintenance cycle.","status":"maintenance","version":"3.9","language":"python","source_language":"en","source_url":"https://github.com/zopefoundation/Products.CMFCore","tags":["Zope","CMF","content-management-framework","plone-ecosystem"],"install":[{"cmd":"pip install products-cmfcore","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"CMFCore requires a running Zope application server","package":"Zope","optional":false},{"reason":"For acquisition-aware base classes","package":"Acquisition","optional":false},{"reason":"Used for folder structures in CMF","package":"Products.BTreeFolder2","optional":true}],"imports":[{"wrong":"from Products.CMFCore import CMFCore","symbol":"CMFCore","correct":"import Products.CMFCore"}],"quickstart":{"code":"from Products.CMFCore.utils import getToolByName\n# In a Zope page template or script:\nportal = context.portal_url.getPortalObject()\ntool = getToolByName(portal, 'portal_membership')\nprint(tool.getMemberAreaContentList('some_member_id'))","lang":"python","description":"Standard usage within a Zope environment: obtain the portal object and use getToolByName to access a CMF tool."},"warnings":[{"fix":"Port code to Python 3.10+ and ensure Zope 4+ or 5.","message":"Products.CMFCore 3.x drops support for Python 2.7 and Zope 2.12. Existing code using Python 2 must be migrated.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Use getToolByName(portal, 'portal_membership') instead of importing MembershipTool directly.","message":"The class 'MembershipTool' is deprecated in favor of 'portal_membership' tool access pattern.","severity":"deprecated","affected_versions":">=3.0"},{"fix":"Use fully qualified imports: from Products.CMFCore import ...","message":"Do not import from 'CMFCore' directly; always prefix with 'Products.' to avoid module conflicts in Zope's namespace.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'3.10':30 '3.9':27 'action':20 'cadenc':32 'cmf':13,42 'compon':16 'content':10,44 'content-management-framework':43 'core':5 'current':24 'cycl':40 'data':23 'ecosystem':49 'framework':12,46 'fundament':15 'irregular':34 'like':17 'mainten':39 'manag':11,45 'member':22 'packag':6 'plone':48 'plone-ecosystem':47 'portal':18 'products.cmfcore':1,2 'provid':14 'python':29 'releas':31 'requir':28 'tie':35 'tool':19 'version':25 'zope':9,37,41","created_at":"2026-06-07T12:56:57.089742+00:00","updated_at":"2026-06-07T12:56:57.089742+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/zopefoundation/Products.CMFCore","github":"https://github.com/zopefoundation/Products.CMFCore","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["cms"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}