这是 J!Mint 在 2009 年 GSoC 第一阶段的更新。我很高兴发布 J!Mint 集成用户管理的第一个测试版,包括
- Joomla 管理组件以管理用户。
- Joomla 用户插件,用于处理与 Magento 网站的通信。
- Joomla 认证插件,允许用户使用他们从 Magento 的旧密码登录 Joomla。
- Magento 用户模块,主要用于提供必要的 API 来处理与 Joomla 网站的通信。
- J!Mint 现在只支持 Joomla 1.5.x,因为伊恩·麦克莱恩和我都认为现在跳转到带有新 ACL 的 J! 1.6 com_users 是不理智的。J! 1.6 稳定下来还需要一段时间,到那时我们肯定可以将这个解决方案迁移到 J! 1.6。
- Joomla 与 Magento 网站之间的通信是通过 Soap 实现的,这样可以使代码更优雅。:D
SSO 插件尚未集成到 J!Mint 的第一个发布版本中。
现在是“看到并触摸”的功能
1. 控制面板
这个控制面板显示了 J!Mint 用户管理组件的概览,包括
- Joomla 统计:群组数量,每个群组的用户数量,以及这个 Joomla 网站的总用户数量。
- Magento 统计:群组数量,每个群组的用户数量,以及 Magento 网站的总用户数量。
- 缓存设置:Soap 通信代价高昂,必须缓存数据以提高性能。默认情况下,Magento 数据缓存在 Joomla 数据库中。
- 最后重载:上次清除缓存并将 Magento 数据重新加载到 Joomla 数据库的时间。(重新缓存)
- 同步状态
- 在 Joomla 上同步的 Magento 用户数量。
- 最后一次同步时间。
- 锁定:显示同步功能是否当前被其他用户使用,因为一次只有一个后端用户被允许访问同步功能。
- 刷新按钮:当前自动缓存已禁用。因此,管理员必须手动点击“刷新”按钮来重新加载Magento数据到Joomla数据库。
2. 用户同步
顾名思义,此部分允许管理员用户单向同步Magento用户数据到Joomla。或者基本上,我们将Magento用户数据的选定部分 bring,并存储在Joomla数据库中。
- 用户组映射
- 同步是针对Magento用户组进行的。根据上述图表,General组中的所有用户将在Joomla上存储为注册用户,StreetSide用户将变为作者用户,所有管理员仍将在Joomla上保留他们的超级角色作为超级管理员。
- 勾选图标不执行任何操作,只是使选定选项更醒目,减少错误选择的机会。
- 同步设置:为同步过程提供更灵活的选项。
- 重置密码:是 - 在同步后,可以在Joomla和Magento网站上重置密码,或者如果选择否,同步后Joomla将即时使用Magento上的密码。
- 同步此用户:否 - 基本上,我们不想同步当前用户,因为如果这是唯一的管理员用户,一旦发生任何问题,可能会锁定用户使其无法进入系统。
- 同步Magento非活动用户:Magento的后端用户具有“非活动”属性,类似于Joomla上的“阻止”。是 - 同步Magento上的所有用户,包括非活动用户。
- 允许创建新用户:否 - 仅同步已在Joomla上创建的用户,其用户名与Magento上的相同。是 - 如果Magento上尚不存在用户,则创建一个具有相同数据的新用户。
- 新用户激活:此功能与Joomla com_users中的功能相同,仅适用于同步过程中创建的新用户。
- 同步日志:每次同步后,日志都会存储在数据中,因此管理员用户可以随时查看上次同步所执行的操作。
- 上次同步:仅记录上次同步的时间。
- 进度条:尚未实现 如果Magento上的用户数量增加到100个左右,同步过程可能会相当长,进度条绝对是必需的。它应该是基于Ajax的。
3. 用户管理器
这基本上是Joomla的com_users,但添加了一些新的属性和功能,以更好地管理“Joomla-Magento混合”用户。
- 锁定 - 校验:这与com_articles上的锁定功能相同。但是,它尚未在Joomla 1.5.x中实现,所以我添加了这一功能。
- 过滤器:除了Joomla组过滤器外,我们还有以下过滤器:
- Magento组:根据Magento组属性过滤用户。类似于Joomla。
- Magento网站:由于Magento支持多个前端网站,因此每个客户都被分配到一个网站。
- Magento组:显示用户当前属于哪个Joomla和Magento组的附加属性。
- 新建/编辑/登出:与通常的操作方式相同,并且直接对Magento网站产生相应的效果。
- 删除:仅在Joomla上删除用户。出于测试目的,禁用了在Magento上删除用户。(这样我们就可以随时将Magento上的用户同步回Joomla)
4. 创建新用户
与常规布局相同,但添加了针对Magento的额外字段。
- Magento设置:针对Magento的额外字段...
- 用户类型:基于所选的用户类型,将显示相应的可用字段。 注意:Magento客户使用电子邮件作为用户名。因此,客户用户没有用户名。
5. 编辑用户
与添加新用户的布局相同,但这是针对客户用户的。
6. 演示
登录
- 用户名:demo
- 密码:demo
Joomla管理员:http://hateit.net/joomla12/administrator/index.php
Magento后台:http://www.iamtotti.com/server/shop/index.php/admin/
7. 代码发布
版本0.1包含以下文件
- Joomla扩展:基于Joomla 1.5.12
- com_jmint_v0.1.zip
- plg_user_jmint_v0.1.zip
- plg_auth_jmint_v0.1.zip
- Magento扩展:基于Magento 1.3.1
- magento_jmint_v0.1.zip
欢迎尝试并提出任何错误反馈:)
8. 第二阶段任务
在2009年GSoC的第二阶段,我们将看到一些在将Magento后台集成到Joomla时更加有趣的后台功能!
- 将Magento后台 --> 集成到Joomla后台
- 总结SSO以完成集成的后台解决方案。