Perforce Web应用程序

Perforce Web应用程序,perforce,Perforce,我正在构建一个web应用程序,它与Perforce位于同一台服务器上。 web应用程序需要充当一种GUI,用于简单的性能操作,例如同步、签出。 我有两种方法: 在每个客户端上运行p4web服务,并让web应用程序与之通信以执行p4命令,如下所示: 在URL中嵌入P4命令 您可以通过将p4命令嵌入URL来执行它们。命令结果 在浏览器中显示为文本。(此功能非常有用 用于Java应用程序。) 要在URL中嵌入命令,请使用以下格式: 命令[cmdflags][args]?ac=160(或ac=161 用

我正在构建一个web应用程序,它与Perforce位于同一台服务器上。 web应用程序需要充当一种GUI,用于简单的性能操作,例如同步、签出。 我有两种方法:

  • 在每个客户端上运行p4web服务,并让web应用程序与之通信以执行p4命令,如下所示:

    在URL中嵌入P4命令

    您可以通过将p4命令嵌入URL来执行它们。命令结果 在浏览器中显示为文本。(此功能非常有用 用于Java应用程序。)

    要在URL中嵌入命令,请使用以下格式:

    命令[cmdflags][args]?ac=160(或ac=161 用于标记输出)

    示例:客户机-d旧客户机?ac=160

  • 让web应用程序直接在服务器上运行perforce命令(p4),以便在客户端上执行操作,例如同步文件

  • 如果可能的话,我更喜欢#2,因为它不需要在客户端上运行p4web。但是,我还没有看到这种情况——在服务器上运行命令(例如>>p4-u Username-H Username PC-c WorkSpace sync//depot/…)似乎可以在服务器上运行,但对客户端文件没有影响

    我在#1上取得了更大的成功,但只有在通过P4Web登录表单进行身份验证之后。我需要以某种方式通过脚本进行身份验证,但我找不到有关如何进行身份验证的适当文档


    是否有关于如何克服这些问题的信息,或者是否有更好的方法来实现这些问题?

    您是否可以安排某种网络文件系统,以便服务器可以直接访问客户端工作区目录树?例如,您的所有客户端工作区能否在单个NFS服务器上定位其文件夹?这可能允许您的web应用程序在客户端文件上运行。但是要注意:将所有这些工作集中在一台机器上可能会使您的web应用程序成为瓶颈,并且很容易过载。您可以使用P4 JavaScript API吗?看见然后,您将在客户端上执行,至少?我认为您理解,sync命令要求应用程序能够访问要同步文件的文件系统-因此,您的客户端机器,或者像Bryan建议的那样,是一个双方都可见的共享文件系统。顺便说一句,P4Web现在是开源的:应该可以调整它以进行身份验证。所以运行在服务器上和客户端上的p4实例无法通信来实现这一点?我将研究一个共享文件系统选项,但我认为它行不通。