这是 J!Mint 在 2009 年 GSoC 第一阶段的更新。我很高兴发布 J!Mint 集成用户管理的第一个测试版,包括

  1. Joomla 管理组件以管理用户。
  2. Joomla 用户插件,用于处理与 Magento 网站的通信。
  3. Joomla 认证插件,允许用户使用他们从 Magento 的旧密码登录 Joomla。
  4. 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 - Control Panel

这个控制面板显示了 J!Mint 用户管理组件的概览,包括

  1. Joomla 统计:群组数量,每个群组的用户数量,以及这个 Joomla 网站的总用户数量。
  2. Magento 统计:群组数量,每个群组的用户数量,以及 Magento 网站的总用户数量。
  3. 缓存设置:Soap 通信代价高昂,必须缓存数据以提高性能。默认情况下,Magento 数据缓存在 Joomla 数据库中。
  4. 最后重载:上次清除缓存并将 Magento 数据重新加载到 Joomla 数据库的时间。(重新缓存)
  5. 同步状态
    1. 在 Joomla 上同步的 Magento 用户数量。
    2. 最后一次同步时间。
    3. 锁定:显示同步功能是否当前被其他用户使用,因为一次只有一个后端用户被允许访问同步功能。
  6. 刷新按钮:当前自动缓存已禁用。因此,管理员必须手动点击“刷新”按钮来重新加载Magento数据到Joomla数据库。

 

2. 用户同步

顾名思义,此部分允许管理员用户单向同步Magento用户数据到Joomla。或者基本上,我们将Magento用户数据的选定部分 bring,并存储在Joomla数据库中。

  1. 用户组映射
    1. 同步是针对Magento用户组进行的。根据上述图表,General组中的所有用户将在Joomla上存储为注册用户,StreetSide用户将变为作者用户,所有管理员仍将在Joomla上保留他们的超级角色作为超级管理员。
    2. 勾选图标不执行任何操作,只是使选定选项更醒目,减少错误选择的机会。
  2. 同步设置:为同步过程提供更灵活的选项。
    1. 重置密码:是 - 在同步后,可以在Joomla和Magento网站上重置密码,或者如果选择否,同步后Joomla将即时使用Magento上的密码。
    2. 同步此用户:否 - 基本上,我们不想同步当前用户,因为如果这是唯一的管理员用户,一旦发生任何问题,可能会锁定用户使其无法进入系统。
    3. 同步Magento非活动用户:Magento的后端用户具有“非活动”属性,类似于Joomla上的“阻止”。是 - 同步Magento上的所有用户,包括非活动用户。
    4. 允许创建新用户:否 - 仅同步已在Joomla上创建的用户,其用户名与Magento上的相同。是 - 如果Magento上尚不存在用户,则创建一个具有相同数据的新用户。
    5. 新用户激活:此功能与Joomla com_users中的功能相同,仅适用于同步过程中创建的新用户。
  3. 同步日志:每次同步后,日志都会存储在数据中,因此管理员用户可以随时查看上次同步所执行的操作。
  4. 上次同步:仅记录上次同步的时间。
  5. 进度条:尚未实现  如果Magento上的用户数量增加到100个左右,同步过程可能会相当长,进度条绝对是必需的。它应该是基于Ajax的。

3. 用户管理器

这基本上是Joomla的com_users,但添加了一些新的属性和功能,以更好地管理“Joomla-Magento混合”用户。

  1. 锁定 - 校验:这与com_articles上的锁定功能相同。但是,它尚未在Joomla 1.5.x中实现,所以我添加了这一功能。
  2. 过滤器:除了Joomla组过滤器外,我们还有以下过滤器:
    1. Magento组:根据Magento组属性过滤用户。类似于Joomla。
    2. Magento网站:由于Magento支持多个前端网站,因此每个客户都被分配到一个网站。
  3. Magento组:显示用户当前属于哪个Joomla和Magento组的附加属性。
  4. 新建/编辑/登出:与通常的操作方式相同,并且直接对Magento网站产生相应的效果。
  5. 删除:仅在Joomla上删除用户。出于测试目的,禁用了在Magento上删除用户。(这样我们就可以随时将Magento上的用户同步回Joomla)

 

4. 创建新用户

与常规布局相同,但添加了针对Magento的额外字段。

  1. Magento设置:针对Magento的额外字段...
  2. 用户类型:基于所选的用户类型,将显示相应的可用字段。 注意: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

  1. com_jmint_v0.1.zip
  2. plg_user_jmint_v0.1.zip
  3. plg_auth_jmint_v0.1.zip

- Magento扩展:基于Magento 1.3.1

  1. magento_jmint_v0.1.zip

 

欢迎尝试并提出任何错误反馈:)

 

8. 第二阶段任务

在2009年GSoC的第二阶段,我们将看到一些在将Magento后台集成到Joomla时更加有趣的后台功能!

  1. 将Magento后台 --> 集成到Joomla后台
  2. 总结SSO以完成集成的后台解决方案。