定制 museado/data-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

museado/data-bundle

最新稳定版本:1.0.0

Composer 安装命令:

composer require museado/data-bundle

包简介

Shared data directory conventions and path utilities for Museado ecosystem (APP_DATA_DIR).

README 文档

README

A small Symfony bundle that standardizes where Museado-related data lives on disk and provides a single, typed service for resolving dataset, pipeline, and Pixie paths.

This bundle intentionally does one thing only: path conventions and filesystem helpers around APP_DATA_DIR.

It is designed to be used by:

  • Museado (the main site / pipeline runner)
  • Aggregator microservices (Smithsonian, Europeana, etc.)
  • Pixie-only reader sites

without forcing those apps to depend on each other.

Core idea

All domain data lives under a single directory defined by:

APP_DATA_DIR

Nothing in this bundle depends on repository-relative paths, symlinks, or .gitignore tricks.

Recommended directory layout

Example values:

Local development:

APP_DATA_DIR=$HOME/data/mus

Dokku / containers:

APP_DATA_DIR=/data/mus

Layout under that directory:

$APP_DATA_DIR/
  data/
    <unitCode>/
      10_extract/
        obj.jsonl(.gz)
      20_normalize/
        obj.jsonl(.gz)
      21_profile/
        obj.profile.json
      30_terms/
        *.jsonl
  pixie/
    tenants/
      <tenant>.db
    template/
    exports/
  runs/
  cache/

Notes:

  • <unitCode> is typically aaa, nmah, nmnhbirds, etc.
  • Pixie databases are not stored under data/
  • The layout is intentionally shallow and predictable

Installation

composer require museado/data-bundle

Set the environment variable:

export APP_DATA_DIR=/absolute/path/to/data/root

That is the only required configuration.

Usage

Inject the DataPaths service anywhere you need filesystem paths.

use Museado\DataBundle\Service\DataPaths;

final class SomeService
{
    public function __construct(
        private DataPaths $paths
    ) {}
}

Dataset paths

$paths->datasetDir('aaa');
$paths->extractDir('aaa');
$paths->extractFile('aaa');

$paths->normalizeDir('aaa');
$paths->normalizeFile('aaa');

$paths->profileDir('aaa');
$paths->profileFile('aaa');

$paths->termsDir('aaa');

Pixie paths

$paths->pixieTenantDb('larco');

Operational directories

$paths->runsDir;
$paths->cacheDir;

Directory creation helpers

The bundle includes small, safe helpers so commands do not need to manually mkdir paths.

Ensure global roots exist:

$paths->ensureRootDirs();

Ensure all standard dataset stage directories exist:

$paths->ensureDatasetDirs('aaa');

Atomic file writes

For small metadata files (profiles, registries, workflow state):

$paths->atomicWrite($path, $contents);

This writes to a temporary file in the same directory and renames atomically.

Design principles

  • No business logic
  • No import, normalize, profile, Pixie, or Meili code
  • No dependency on other Museado bundles
  • Filesystem layout is centralized and versioned
  • Paths are semantic, not stringly-typed

This bundle exists so every app in the ecosystem agrees on where things go, without duplicating logic or pulling in heavy dependencies.

When to use this bundle

Use museado/data-bundle if your code needs to:

  • Read or write 10_extract, 20_normalize, profiles, or termsets
  • Locate Pixie SQLite databases
  • Share data directories across multiple apps
  • Avoid repo-local data/ directories

Do not use it for:

  • Import pipelines
  • Data normalization
  • Profiling
  • Term extraction
  • Search indexing
  • UI or controllers

Status

  • Stable
  • PHP ≥ 8.4
  • Symfony ≥ 7.4 (tested with Symfony 8)

This bundle is intended to be boring, stable, and rarely changed.

Developer

composer config repositories.museado-data-bundle '{"type":"path","url":"/home/tac/g/museado/data-bundle","options":{"symlink":true}}'
composer require museado/data-bundle:@dev

museado/data-bundle 适用场景与选型建议

museado/data-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 42 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 museado/data-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 museado/data-bundle 我们能提供哪些服务?
定制开发 / 二次开发

基于 museado/data-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 42
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 17
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04