16、Looker应用开发全攻略:从嵌入到组件与市场拓展

Looker应用开发全攻略:从嵌入到组件与市场拓展

1. 开发准备资源

在踏入Looker开发的征程前,先准备好以下重要资源,它们将为后续的开发工作提供有力支持:
- SDK Codegen :Looker开源仓库,地址为https://github.com/looker-open-source/sdk-codegen 。
- Colab Looker SDK教程 :https://colab.sandbox.google.com/github/looker-open-source/sdk-codegen/blob/main/python/python-sdk-tutorial.ipynb 。
- API文章与教程 :https://developers.looker.com/api/tutorials/

2. 嵌入Looker

Looker的嵌入解决方案能够将Looker的仪表盘、可视化图表和探索功能无缝集成到外部应用程序和网站中,让数据分析的能力延伸到你的数字空间。你可以通过iframe或嵌入SDK来实现嵌入,iframe嵌入有以下几种方式:
- 私有嵌入
- 签名嵌入
- 使用嵌入SDK的签名嵌入

2.1 准备工作
  • 打开之前创建的Looker仪表盘,例如名为“Ecommerce Dashboard”的仪表盘(也可按照相关说明创建新的仪表盘)。
  • 访问https://sites.google.com/ ,使用与Looker相同的Google账户登录,创建一个免费网站,用于嵌入Looker内容。
2.2 私有嵌入步骤
  1. 打开Looker仪表盘,点击仪表盘右上角的三个点。
  2. 在下拉列表中找到“Get Embed URL”,然后点击“Copy Link”复制嵌入URL。
  3. 访问https://sites.google.com/ ,点击“+Start”创建一个新网站。
  4. 在空的Google网站右上角,点击“Embed”。
  5. 在“Embed from the web”窗口中,选择“By URL”,粘贴复制的Looker嵌入URL。
  6. 点击“Insert”完成嵌入。

如果对仪表盘的显示效果不满意,可以采取以下措施:
- 在Looker界面中修改仪表盘。
- 选择“Embed code”而非“By URL”进行嵌入,并添加iframe参数,示例代码如下:

<iframe
    src="(add your Embed URL here)"
    width="600"
    height="3600"
    frameborder="0">
</iframe>
2.3 注意事项

用户要查看嵌入内容,必须先在同一浏览器中登录Looker。支持通过Looker内置登录系统、Google OAuth、OpenID Connect、SAML和LDAP进行身份验证。你可以通过在嵌入URL中添加参数 allow_login_screen=true ,为未登录用户显示登录屏幕,还能通过“ Sessions”管理面板控制已登录用户的会话时长和非活动超时时间。

2.4 嵌入原理

Looker嵌入功能能让你在自己的工作流程中直接共享仪表盘、可视化图表或可探索的数据。你可以生成嵌入URL,使用基本的iframe方法或更灵活的Looker嵌入SDK将其集成到网页或应用程序中。公共(仅适用于Looks)或私有访问选项可确保对查看嵌入内容的人员进行控制。用户与嵌入数据的交互就像在Looker内部一样,体验一致且直观。

2.5 更多嵌入选项

为了在嵌入式分析中获得更大的灵活性和定制性,可以探索签名嵌入选项。签名嵌入允许将私有Looks、可视化图表、探索和仪表盘直接集成到应用程序中,用户通过自己的应用程序进行身份验证,这与私有嵌入不同,私有嵌入需要用户使用Looker登录、Google OAuth等进行身份验证。例如,https://atomfashion.io/ 是一个使用签名嵌入构建的网站示例,点击应用右下角的“Code”按钮可查看其构建方式。要启用签名嵌入,必须使用Looker的嵌入版本,更多信息可参考https://cloud.google.com/looker/docs/signed-embedding 。

Looker嵌入还有一些高级功能:
- 使用JavaScript让页面响应嵌入内容的变化,甚至修改嵌入内容。
- 跟踪嵌入内容的使用情况。
- 将Looker内容嵌入到Salesforce等系统中。
更多高级嵌入信息可参考https://developers.looker.com/embed/advanced-embedding 。

3. 探索Looker扩展框架

Looker扩展就像是内置在Looker中的可定制应用程序,旨在增强其功能,为用户提供定制化体验。它们就像小型应用程序,能无缝集成到Looker中,扩展其功能以满足特定需求。例如,LookML Diagram和Data Dictionary就是Looker扩展的示例。

Looker扩展框架是一个结构和工具包,使开发人员能够在Looker中创建自定义扩展。它允许第三方JavaScript在Looker中运行,并提供对Looker API的上下文和特权访问。

3.1 准备工作

开发Looker扩展需要满足以下条件:
- 拥有Looker实例的LookML开发权限。
- 启用扩展框架功能(通过“Admin->Platform->Extension Framework”)。
- 熟悉JavaScript。

3.2 创建Looker扩展步骤
  1. 从模板创建新的起始扩展
    • 配置Looker以支持扩展,创建一个与Git连接的LookML项目,并包含一些模型和项目清单文件。
    • 通过命令行工具在应用服务器上安装开源包管理器Yarn。
    • 使用Yarn安装 create-looker-extension 实用程序,它包含基本Looker扩展所需的所有元素。
    • 在Yarn开发服务器中,通过修改 src 目录开始扩展开发。扩展的源代码位于 src 目录中,要更改扩展的功能,可编辑该目录中的文件。例如,在一个React/JavaScript的Hello World扩展中,可修改 HelloWorld.js 文件。
    • 将Yarn服务器上的 manifest.lkml 文件内容复制到LookML项目中的 manifest.lkml 文件,然后依次进行“Validate LookML -> Commit Changes & Push -> Deploy to Production”操作。
    • 新扩展将出现在Looker实例的“Applications”面板中。更多从模板创建扩展的详细信息可参考https://cloud.google.com/looker/docs/extension-intro-to-building 。
  2. 定制扩展
    • 添加代码以实现所需的功能。可参考https://cloud.google.com/looker/docs/extension-framework-react-and-js-code-examples 获取常见功能的代码示例。
  3. 设置权限
    • 为扩展用户提供必要的权限,包括:
      • 开发扩展:在Looker中拥有LookML开发权限。
      • 安装扩展:在Looker中拥有开发、管理模型和部署扩展模型的权限。
      • 使用扩展:在Looker中拥有探索或开发权限,模型集访问设置为“All”。
        更多设置权限的详细信息可参考https://cloud.google.com/looker/docs/setting-permissions-for-extensions 。
3.3 更多资源

访问Looker扩展框架示例仓库https://github.com/looker-open-source/extension-examples ,可以获取丰富的可定制和高级模板,这些模板可轻松克隆和重新用于项目开发。

4. 探索组件

基于React的Looker组件能将Looker的设计和功能无缝融入自定义数据应用程序和扩展中。你可以使用Looker预先制作的React组件,如表单、按钮、图表、表格等,就像使用一套Looker构建块一样。这些组件可与Looker扩展框架和Looker的嵌入SDK一起使用,Looker的可视化组件也是将Looker内容嵌入应用程序的一种方式。

4.1 关键概念
  • Looker组件发布到JavaScript包管理器NPM。
  • NPM可帮助将Looker组件添加到前端JavaScript或TypeScript应用程序中。
  • NPM提供UI、过滤器和可视化组件的包,可从@looker/components NPM仓库下载。
  • 也可以使用前面提到的Yarn来安装Looker组件。
4.2 使用Looker组件步骤
  1. 获取要在应用程序中使用的Looker元素的信息,例如,对于Explore,可能需要从URL中获取Explore ID。
  2. 创建一个JS应用程序(注意,Looker组件可直接在Looker扩展中使用,无需构建单独的JavaScript应用程序,更多信息可参考https://cloud.google.com/looker/docs/extension-intro-to-building )。在应用程序中执行以下操作:
    • 安装所有必要的Looker组件包。
    • 配置环境变量。
    • 初始化SDK。
    • 将Looker组件嵌入应用程序。
    • 构建后端辅助服务,以接收前端的调用。
  3. 在“Admin”的“Platform”面板的“Embed”中,可能需要将应用程序URL添加到“Embedded Domain Allowlist”。
  4. 启动服务器和React应用程序。
5. 探索Looker市场

你可以为Looker市场做出贡献,例如使用前面介绍的扩展框架的强大功能构建自定义应用程序,并通过市场与Looker社区共享。还可以开发自己的数据块和自定义可视化图表,添加到市场中与他人分享。

5.1 开发Looker数据块

Looker数据块是为常见分析模式和数据源预先构建的数据模型,能为Looker中的数据分析提供快速起点。开发Looker数据块并发布到市场的步骤如下:
1. 将Looker连接到要为其构建数据块的数据源,并记录数据源架构的要求,以便其他用户使用。
2. 创建一个LookML项目,包含以下文件:清单、视图、模型、探索、LookML仪表盘、marketplace.json、LICENSE和README文件。用户从市场安装数据块时,将包含这些文件和自动生成的文件。
3. 将数据块托管在公开可访问的Git仓库中,使其对所有用户可用。
4. 提交数据块进行审核。
更多开发Looker数据块的信息可参考https://cloud.google.com/looker/docs/marketplace-develop-custom-blocks 。

5.2 创建Looker自定义可视化图表

开发Looker自定义可视化图表并发布到市场的步骤如下:
1. 使用Looker可视化API在JavaScript环境中构建自定义可视化图表。
2. 创建一个LookML项目,包含以下文件:LICENSE、README、.js、manifest.lkml和marketplace.json。
3. 将项目推送到公开可访问的GitHub仓库。
4. 测试自定义可视化图表的功能。
5. 提交可视化图表进行审核。
更多开发Looker自定义可视化图表的信息可参考https://cloud.google.com/looker/docs/marketplace-develop-visualization 。

5.3 更多工具

可以使用在线交互式Looker自定义可视化图表构建器https://looker-open-source.github.io/custom-viz-builder/ 来帮助构建和调试自定义可视化图表。

总结

通过以上对Looker应用开发各个方面的详细介绍,我们了解了从开发准备资源、嵌入Looker、探索扩展框架、使用组件到为Looker市场做贡献等一系列内容。这些功能和工具为开发人员提供了丰富的选择,能够满足不同场景下的数据可视化和分析需求。无论是将Looker功能集成到外部应用,还是开发自定义的扩展和可视化图表,都能在Looker的生态系统中找到合适的解决方案。希望这些信息能帮助你在Looker开发的道路上取得更好的成果。

Looker应用开发全攻略:从嵌入到组件与市场拓展

6. 开发流程总结与对比

为了更清晰地展示Looker不同开发方向的流程,下面通过表格进行对比总结:
|开发方向|准备条件|主要步骤|参考文档|
| ---- | ---- | ---- | ---- |
|嵌入Looker|打开Looker仪表盘,创建免费网站|1. 获取嵌入URL;2. 嵌入到网站;3. 必要时调整显示效果|https://cloud.google.com/looker/docs/embed-overview 等|
|探索Looker扩展框架|LookML开发权限,启用扩展框架,熟悉JavaScript|1. 从模板创建扩展;2. 定制扩展;3. 设置权限|https://cloud.google.com/looker/docs/extension-intro-to-building 等|
|探索组件|了解Looker元素信息|1. 创建JS应用;2. 安装组件包;3. 配置环境;4. 嵌入组件;5. 构建后端服务;6. 添加应用URL到白名单;7. 启动服务器和应用|https://cloud.google.com/looker/docs/components-overview 等|
|探索Looker市场(开发数据块)|连接数据源|1. 创建LookML项目;2. 托管到Git仓库;3. 提交审核|https://cloud.google.com/looker/docs/marketplace-develop-custom-blocks |
|探索Looker市场(创建自定义可视化图表)|JavaScript环境|1. 构建可视化图表;2. 创建LookML项目;3. 推送到GitHub仓库;4. 测试功能;5. 提交审核|https://cloud.google.com/looker/docs/marketplace-develop-visualization |

下面是一个mermaid格式的流程图,展示了整体的Looker开发流程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始开发]):::startend --> B{选择开发方向}:::decision
    B -->|嵌入Looker| C(准备仪表盘和网站):::process
    C --> D(获取嵌入URL):::process
    D --> E(嵌入到网站):::process
    E --> F(调整显示效果):::process
    B -->|开发扩展| G(满足准备条件):::process
    G --> H(从模板创建扩展):::process
    H --> I(定制扩展):::process
    I --> J(设置权限):::process
    B -->|使用组件| K(获取元素信息):::process
    K --> L(创建JS应用):::process
    L --> M(安装组件包):::process
    M --> N(配置环境):::process
    N --> O(嵌入组件):::process
    O --> P(构建后端服务):::process
    P --> Q(添加URL到白名单):::process
    Q --> R(启动服务器和应用):::process
    B -->|开发数据块| S(连接数据源):::process
    S --> T(创建LookML项目):::process
    T --> U(托管到Git仓库):::process
    U --> V(提交审核):::process
    B -->|创建可视化图表| W(准备JavaScript环境):::process
    W --> X(构建可视化图表):::process
    X --> Y(创建LookML项目):::process
    Y --> Z(推送到GitHub仓库):::process
    Z --> AA(测试功能):::process
    AA --> AB(提交审核):::process
    F --> AC([完成开发]):::startend
    J --> AC
    R --> AC
    V --> AC
    AB --> AC
7. 常见问题与解决方法

在Looker开发过程中,可能会遇到一些常见问题,下面为你提供相应的解决方法:
- 嵌入内容显示异常
- 问题描述 :嵌入的Looker仪表盘或可视化图表在网站上显示不完整或样式错乱。
- 解决方法 :首先检查嵌入URL是否正确,然后尝试在Looker界面中调整仪表盘的布局和样式。如果问题仍然存在,可以选择“Embed code”并添加合适的iframe参数,如调整宽度和高度。示例代码如下:

<iframe
    src="(add your Embed URL here)"
    width="800"
    height="4000"
    frameborder="0">
</iframe>
  • 扩展开发权限问题
    • 问题描述 :在开发或使用扩展时,遇到权限不足的提示。
    • 解决方法 :确保为扩展用户提供了必要的权限,包括LookML开发权限、安装扩展所需的权限以及使用扩展的权限。具体权限设置可参考https://cloud.google.com/looker/docs/setting-permissions-for-extensions 。
  • 组件安装失败
    • 问题描述 :在使用NPM或Yarn安装Looker组件包时,出现安装失败的错误。
    • 解决方法 :检查网络连接是否正常,确保NPM或Yarn的版本是最新的。可以尝试清除缓存并重新安装,命令如下:
# 清除NPM缓存
npm cache clean --force
# 重新安装组件包
npm install @looker/components
8. 未来发展趋势与建议

随着数据分析和可视化需求的不断增长,Looker的功能和应用场景也将不断拓展。以下是一些未来发展趋势和相应的建议:
- 增强集成能力 :未来Looker可能会与更多的第三方系统进行深度集成,如与更多的云服务提供商、企业级应用程序等。建议开发者关注Looker官方的集成文档和更新,及时掌握新的集成方法和技巧。
- 智能化分析 :借助人工智能和机器学习技术,Looker可能会提供更智能的数据分析和可视化功能,如自动生成分析报告、智能推荐可视化图表等。开发者可以学习相关的AI和ML知识,以便更好地利用这些新功能。
- 移动端支持 :随着移动设备的普及,对Looker在移动端的使用需求也会增加。开发者可以注重开发响应式的嵌入和扩展,确保在移动设备上有良好的用户体验。

总之,Looker为开发者提供了一个强大而灵活的平台,通过不断学习和实践,开发者可以充分发挥Looker的优势,为企业和用户提供更优质的数据分析和可视化解决方案。希望以上内容能帮助你在Looker开发的道路上不断前进,取得更好的成果。

本文档旨在帮助开发者搭建STM8单片机的开发环境,并创建基于标准库的工程项目。通过本文档,您将了解如何配置开发环境、下载标准库、创建工程以及进行基本的工程配置。 1. 开发环境搭建 1.1 软件准备 IAR Embedded Workbench for STM8: 这是一个集成开发环境,具有高度优化的C/C++编译器和全面的C-SPY调试器。它为STM8系列微控制器提供全面支持。 STM8标准库: 可以从STM官网下载最新的标准库文件。 1.2 安装步骤 安装IAR: 从官网下载并安装IAR Embedded Workbench for STM8。安装过程简单,按照提示点击“下一步”即可完成。 注册IAR: 注册过程稍微繁琐,但为了免费使用,需要耐心完成。 下载STM8标准库: 在STM官网搜索并下载最新的标准库文件。 2. 创建标准库工程 2.1 工程目录结构 创建工作目录: 在自己的工作目录下创建一个工程目录,用于存放IAR生成的文件。 拷贝标准库文件: 将下载的标准库文件拷贝到工作目录中。 2.2 工程创建步骤 启动IAR: 打开IAR Embedded Workbench for STM8。 新建工程: 在IAR中创建一个新的工程,并将其保存在之前创建的工程目录下。 添加Group: 在工程中添加几个Group,分别用于存放库文件、自己的C文件和其他模块的C文件。 导入C文件: 右键Group,导入所需的C文件。 2.3 工程配置 配置芯片型号: 在工程选项中配置自己的芯片型号。 添加头文件路径: 添加标准库的头文件路径到工程中。 定义芯片宏: 在工程中定义芯片相关的宏。 3. 常见问题解决方案 3.1 编译错误 错误1: 保存工程时报错“ewp could not be written”。 解决方案: 尝试重新创建工程,不要在原路径下删除工程文件再创建。 错误
《基于SSM架构的学籍数据管理平台技术解析》 在当代数字化教育背景下,数据管理平台已成为教育机构运营的核心支撑。本系统以SSM技术组合为基础架构,构建了一套完整的学籍信息处理体系,通过系统化的技术方案实现教育数据的规范化管理智能分析。以下从架构设计、技术实现功能模块三个维度展开说明。 一、系统架构设计 该平台采用分层式架构设计,充分体现模块化可维护性特征。Spring框架作为核心容器,通过依赖注入机制实现组件解耦;SpringMVC架构负责前端请求的路由响应处理;MyBatis数据层框架则封装了数据库交互过程,通过映射配置简化SQL操作。三层架构协同工作,形成高内聚低耦合的技术体系。 二、技术实现要点 1. Spring容器:基于控制反转原则管理业务对象生命周期,结合面向切面编程实现事务控制日志管理 2. SpringMVC模块:采用模型-视图-控制器设计范式,规范Web层开发流程,支持RESTful接口设计 3. MyBatis组件:通过XML配置实现对象关系映射,提供动态SQL生成机制,显著减少冗余编码 三、核心功能模块 1. 学籍信息维护:实现学员基本资料的增删改查操作,涵盖学籍编号、个人信息、所属院系等关键字段 2. 学业成绩管理:支持课程分数录入批量处理,提供多维度统计分析功能 3. 教学组织管理:建立班级体系学员关联关系,实现分级数据管理 4. 权限控制机制:基于角色访问控制模型,划分管理员、教职工、学员三级操作权限 5. 系统审计功能:完整记录用户操作轨迹,构建安全追踪体系 四、系统开发方法论 在项目生命周期中,采用结构化开发流程。前期通过需求调研确定系统边界,中期完成数据库范式设计接口规范制定,后期采用迭代开发模式配合自动化测试,确保系统交付质量。 五、技术演进展望 当前系统虽未集成智能算法,但为未来升级预留了扩展接口。可预见的技术演进方向包括:基于学习行为数据的智能预警、个性化学习路径推荐等深度应用场景。 综上所述,该平台通过SSM技术体系实现了教育管理数据的标准化处理,既展示了现代软件开发范式的实践价值,也为教育信息化建设提供了可复用的技术方案。这种系统化的问题解决思路,充分体现了软件工程方法在教育领域的应用潜力。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值