【问题标题】:Suggestions for making an offline version of an online form?关于制作在线表格的离线版本的建议?
【发布时间】:2009-05-14 22:14:47
【问题描述】:

我在一个学区工作,那里的老师在线向校长提交课程计划。

他们使用我使用 PHP/MySQL 编写的在线表单来执行此操作,它使用 TinyMCE 作为其文本区域。要求的主要功能之一是教师能够将其不完整的表格保存为草稿以供以后提交。这是实施的,但我面临的新问题是并非所有教师都可以在家中访问互联网,因此他们无法在家中制定课程计划。

当然,他们可以从保存在笔记本电脑上的 word 文档或文本文件中剪切和粘贴,但是他们必须一次剪切/粘贴一个文本区域,而且他们对此抱怨不已。

所以我想尝试的是制作一个看起来像在线表单的离线应用程序,但将表单以 xml 格式保存在他们的计算机上。然后他们可以打开此文件继续处理,或稍后将其上传到在线表单。

我的问题是:由于我的编程经验目前仅限于一些与网络相关的语言(php、javascript、html),我应该使用什么来尝试编写这个离线应用程序?温宾德? Adobe 空气?

【问题讨论】:

  • 我建议在这里使用 VB6。 WinBinder 可能对您有意义。我的假设是您正试图快速解决问题。

标签: php xml web-applications tinymce


【解决方案1】:

我认为最好的办法是让他们在浏览器上安装Google Gears(Google Toolbar iirc 默认提供),这是离线存储内容的理想选择。然后,一旦他们上线,就可以轻松地将存储的内容同步回您的在线服务器。

Gears API 文档可以在 here 找到。

【讨论】:

  • 我不确定,但我认为 Samutz 的用户可能正在从不上网的计算机上编写内容,并将他们生成的文件带到软盘上,或者类似的东西。如果确实如此,Gears 将无法工作,不是吗?据我了解,Gears 更适合人们使用间歇性连接的系统的情况。
  • 弗兰克你有一个有效的观点。如果有用户不打算连接到互联网 /ever/,那么他仍然可以将他的本地 Google Gears SQLite 数据库复制到 USB 并将其传输到工作中的计算机。不同应用程序的数据存储在单独的 sql 文件中,其位置在此处描述:code.google.com/apis/gears/api_database.html#directories
  • 其实每个老师都有一台可以带回家的笔记本电脑。 Gears 似乎是我最好的选择,因为未来还有其他应用需要类似的功能。
【解决方案2】:

教师目前如何离线制定他们的课程计划?

例如,如果他们以纯文本格式执行此操作,也许您可​​以简单地添加一个文件上传字段。他们会上传他们的文件(他们离线工作),您的网络应用程序会解析它并将其分成适当的部分。

(如果需要富文本,他们可以使用 Word 文档。)

为了帮助进行解析,您可以告诉他们使用部分标题(可能是全部大写的特殊单词),或者为他们提供一个示例模板(直接映射到网络表单)。

这里的想法是,您可能希望尽量减少教师需要做出的改变。他们已经习惯了他们目前正在做的事情,所以要按照他们目前的习惯来工作。这比让他们改变并做一些新的事情要容易。在他们的计算机上安装新的离线应用程序几乎可以肯定是一个重大障碍。

(当我输入这个答案时,Josh Curren 提交了一个类似的答案。)

【讨论】:

  • 其实,我认为这样的事情是最好的解决方案。
【解决方案3】:

我会将表单保存为一个文本文件,他们可以将其保存到桌面,然后上传并稍后将其读入表单。您必须为他们提供模板,以便他们输入的所有内容都按正确的顺序排列。

【讨论】:

  • 他们需要能够格式化文本(粗体、斜体等)。因此使用了 TinyMCE。
  • 您可以使用 wiki-lite 格式化引擎。例如,text 表示粗体,text 表示下划线等超链接等
【解决方案4】:

一个简单的选择是构建一个常规的桌面应用程序,他们可以在本地安装并随身携带。在应用程序中具有上传功能,允许他们在连接到互联网时提交。

【讨论】:

    【解决方案5】:

    另一种选择是使用创建表单的可编辑 PDF,然后 a) 将它们作为一个整体提交给委托人,或 b) 在服务器端解析出字段数据。

    【讨论】:

      【解决方案6】:

      如果他们在学校和家里都使用 Internet Explorer,您可以在以 Web 存档格式 *.mht 保存的网页中为他们提供表单。他们在家填写表格并以相同的 *.mht 格式保存。当他们回到学校时,他们会打开页面并提交。

      这应该可行,并且可能很容易实现。我在这篇文章中尝试过,但在验证码和 openid 登录之间的某个地方遇到了问题。在您的表单上尝试一下。

      【讨论】:

        【解决方案7】:

        我实际上已经使用 Adob​​e AIR 来执行此操作。 使用 AIR,表单看起来几乎与在线使用的表单相同,甚至使用相同的 TinyMCE 库。而且我不需要学习太多东西,只需 AIR javascript API。

        我还使用 AIR 编写了一些其他应用程序,我喜欢它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-22
          相关资源
          最近更新 更多