上一章节我们介绍了测试模块的配置文件,这一章节我们介绍插件本身的配置文件,这个是我们部署插件真正用到的. 文件的位置位于项目主目录中的/src/main/resources目录中.

插件配置文件介绍

插件描述文件的根元素

<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">atlassian-plugin>
属性名称 描述
key 用来标识插件模块.此属性是必须的,并且在插件中必须是唯一的,相当于插件的身份证号码.默认使用构建插件时填写的groupId和artifactId组成.
name 插件的名称.用于在应用程序的菜单中显示.默认通过引用pom.xml文件的name来加载.(不应该在该值中使用单词 “plugin”“add-on” )

接下来是plugin-info元素

包含插件信息,父元素是,支持多个嵌套元素.

<plugin-info>        <description>${project.description}description>        <version>${project.version}version>        <vendor name="${project.organization.name}" url="${project.organization.url}" />        <param name="plugin-icon">images/pluginIcon.pngparam>        <param name="plugin-logo">images/pluginLogo.pngparam>plugin-info>
嵌套元素 描述
description 插件说明
version 插件版本
vendor 提供插件开发人员的信息
param 插件参数(示例中的两个参数分别提供了插件图标的位置和插件logo的位置)

vendor元素

插件供应商.在插件管理中提供链接地址.父元素是.

属性名称 描述
name 提供开发人员的姓名或公司的名称
url 提供一个网站地址

文件其余部分是组成插件的所有模块,首先来看下插件本身的.里面有resource元素和web-resource元素.

国际化资源配置

location填写的名称,代表必须有一个叫hello-world.properties的配置文件

<resource type="i18n" name="i18n" location="hello-world"/>

Web资源插件模块

该模块允许插件定义可下载的资源.如果插件中需要引用JavaScriptCSS文件,则需要依赖该模块,将Web资源添加到页面顶部.另外,也可以将指定的Web资源包含在应用程序的特定上下文中.

web资源模块的根元素web-resource

<web-resource key="hello-world-resources" name="hello-world Web Resources">web-resource>
属性名称 描述
key 模块的唯一标识符,可以通过它使用模块中包含的资源
name 模块的名称

依赖项

示例中的这个依赖项可以理解为增强版的jQuery,Atlassia在jQuery之上提供了一些其他功能

<dependency>com.atlassian.auiplugin:ajsdependency>

资源

代表该模块包含的静态资源

<resource type="download" name="hello-world.css" location="/css/hello-world.css"/><resource type="download" name="hello-world.js" location="/js/hello-world.js"/><resource type="download" name="images/" location="/images"/>
属性名称 描述
type download代表可下载的资源类型,它使资源可以从特定的URL下载
name 资源的名称,如果location参数指定的不是单个资源(例如图片存放目录),应该在名称后面加上“/”,对于CSS/ Javascript 资源,他们的名称必须具有适当的文件扩展名
location 资源的位置,告诉插件在哪个位置可以找到资源

如果要在CSS中引用图片,使用基于图片定义的资源名称的相对路径,如该插件的imageshello-world.css

.my-class {   background-image: url(images/mypicture.gif);}

要引用Confluence中已经可用的图片,需要指定三个父级目录,如下所示

.my-class {   background-image: url(../../../images/icons/confluence-logo.gif);}

Web资源上下文

可以在Confluence中特定类型的页面上自动包含Web资源.默认是artifactId的名称,属于自定义上下文,相对应的还有一些Confluence自带的上下文

  1. 自定义上下文
<context>hello-worldcontext>
  1. Confluence自带上下文
上下文 描述
atl.general 除了管理页面之外的任意页面
main 除了管理页面之外的任意页面
atl.admin 管理页面,请谨慎使用,因为格式不正确的CSS或JavaScript可能会阻止访问该Confluence
admin 管理页面,请谨慎使用,因为格式不正确的CSS或JavaScript可能会阻止访问该Confluence
atl.userprofile 用户个人资料页面
atl.popup 弹出窗口
dashboard 仪表板
editor 出现编辑的页面
editor-context 页面编辑器内
macro-browser 宏浏览器,在editor之后
page 任何与页面相关的页面,例如查看,编辑,附件,信息;但不包括博客文章,空间或全局页面
preview 在宏浏览器的预览窗格中
blogpost 任何与博客相关的页面,例如查看,编辑,附件,信息;而不是页面,空间或全局页面
space 任何与空间相关的页面

如果要将Web资源配置在空间和页面的上下文中可以如下配置

<web-resource key="hello-world-resources" name="hello-world Web Resources">        <dependency>com.atlassian.auiplugin:ajsdependency>        <resource type="download" name="hello-world.css" location="/css/hello-world.css"/>        <resource type="download" name="hello-world.js" location="/js/hello-world.js"/>        <resource type="download" name="images/" location="/images"/>        <context>spacecontext>         <context>pagecontext>web-resource>

引用Web资源

要将自定义Web资源包含在使用插件的页面中,请使用#requireResource Velocity

#requireResource("com.jenseny.atlassian.tutorial.hello-world:hello-world-resources")

内容格式为${atlassian.plugin.key}:${web-resource-key}

如果Confluence中添加了许多页面,这些页面都依赖一个Web资源,我们可以新建一个Web资源上下文,然后在Velocity中引入新的上下文,引入方法如下

#webResourceManager.requireResourcesForContext("hello-worlds")

以上就是关于插件配置文件的介绍,下一章节我们正式开始开发自定义插件,先以自定义Confluence主题为例.

confluence添加用户_玩转Confluence插件开发插件模块配置文件介绍(04)相关推荐

  1. confluence添加用户_知识管理平台Confluence教程:如何添加,分配和查看任务

    Confluence作为一个知识管理的平台,让团队成员协作.分享信息,查找工作所需的资料,从此打破不同团队.不同部门以及个人之间信息孤岛的僵局,Confluence真正实现了组织资源共享.同时Conf ...

  2. confluence添加用户_Confluence 6 选项 1 – 在 Confluence 中手动重建用户和用户组

    dojo 六 使用query dojo/query 要使用query,就要引入dojo/query包.query可以根据Dom里节点的标签名.id名.class名来检索一个或多个节点.-------- ...

  3. 如何在mysql中添加用户_如何给mysql数据库添加一个用户

    首先以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码. 创建一个MySQL用户 使用如下命令创建一个用户名和密码 ...

  4. mysql如何添加用户_如何创建新用户和授予MySQL中的权限

    关于MySQL MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据. 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项. 如何创建新用户 在MyS ...

  5. pygame为游戏添加背景_万能的Python和Pygame模块构建一个游戏框架

    通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏.这次,我将展示 ...

  6. python美化输出模块_美化输出结果之Python模块PrettyTable介绍

    0x00 前言 这是在分析Cobra源码的时候看到的,作者使用PrettyTable模块将漏洞扫描结果以表格形式格式化的输出. 这个模块在写CLI形式的工具时,还是会经常用到的,可以使最终的输出结果更 ...

  7. vba 您正和其他用户尝试修改同一条数据_专辑二 | Moodle学习之Moodle添加用户

    moodle添加用户 moodle添加用户有多种方式,这里简单介绍两种--单一添加和批量添加. 一.单一添加 步骤如下: 01.使用管理员身份登录Moodle,点击导航条上的网站管理,进入网站管理界面 ...

  8. mysql8创建用户并授权_新版mysql8.0.12添加用户并设置权限避免踩坑!

    新版MySQL8.0.12中,添加用户并设定权限 MySQL8.0之前在添加用户的时候可以直接设置用户权限如: GRANT ALL ON *.* TO `zqj`@`ip` IDENTIFIED BY ...

  9. RabbitMQ 添加用户(入门试炼_第2篇)

    文章目录 一.登录 二.添加用户和角色 2.1. 用户角色介绍 2.2. 用户和角色分配 2.3. 创建Virtual Hosts 一.登录 二.添加用户和角色 2.1. 用户角色介绍 1.超级管理员 ...

最新文章

  1. flask_sqlalchemy 多对多 关系 对中间表的操作
  2. 天天沉迷于皇上本宫的都是sb
  3. 5个无聊Python程序,用Python整蛊你的朋友们吧
  4. indices should be one-based and in ascending order
  5. 前端面试常见HTML问题(一)
  6. 专访刘伟:软件开发人员的内功修炼之道
  7. linux 配置trac界面显示为中文,安装back|track 5 r3并配置中文界面简单教程
  8. CA机构是如何保护自己私钥的?
  9. Java程序员职业生涯规划
  10. 远程服务RMI源码解析(二)
  11. Hadoop 中的面试题
  12. 电脑 蓝屏报错:SYSTMEM SCAN AT RAISED IRQL CAUGHT IMPROPER DRIVER UNLOAD
  13. 第 三 十 八 天:Apache 选 项 和 模 块 问 题 附:php
  14. 《让子弹飞》系列——《让子弹飞》中最大的彩蛋
  15. 三轴加速度计得到角度值原理
  16. 火锅店软件需求(附带完成过程)
  17. e2label设置文件系统的卷标
  18. vue项目起本地,改成https协议请求
  19. 细细品味Ubuntu Scope中的category renderer模版
  20. 程序员的四境界、七宗罪与七武器

热门文章

  1. c语言编程流水灯与交通灯实验,C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟.doc...
  2. 3-5 单链表分段逆转 (20 分)
  3. JVM垃圾回收机制学习
  4. android 微积分计算器,高数计算器1.0(高数计算工具app)
  5. figcaption html5,HTML5 figcaption 标签
  6. 2021河南固高高考成绩查询,河南信阳最好的4所高中,前三所学霸如云,看看有没有你的母校?...
  7. 东北师范大学计算机科学与技术录取分数线,东北师范大学计算机科学与技术专业2015年在河南理科高考录取最低分数线...
  8. Magento微信支付接口开发小记
  9. 原子性和一致性的区别是什么?
  10. 服务器维护 测试化验加工费,测试化验加工费.PPT