The invention relates to computer techniques, and in particular, to software packing utilizing network techniques.
In software development, designers have to test, debug, and modify computer programs several times for quality assurance. Typically, only a portion of the files included in a software package require update with each program modification. Designers may receive file update requests from different entities and spend time updating files during development. The more frequently the file updates are requested, the more time it takes designers to respond to the update requests. Manual file updates utilize computer user interfaces, presenting difficulties in simultaneous handling of many file update requests, often subject to error. Further, software development units in different time zones may not be able to coordinate software packing services , delaying the software development cycle.
Accordingly, methods and systems are provided.
An exemplary embodiment of program packing system comprises a database and a server coupled thereto. The database stores a first software package comprising an original version of files comprising a first portion and a second portion. The server receives a new version of the first portion via a network, automatically generates a copy of the second portion, and automatically integrates the new version of the first portion and the copy of the second portion into a second software package.
An exemplary embodiment of program packing system comprises a database and a server coupled thereto. The database stores software packages, wherein a first software package corresponding to a project comprises files. The server receives selection of the project as well as a group of files via a network, automatically searches the first software package based on the selection, automatically produces a copy of the first software package, automatically integrates the copy of the first software package and the group of files based on file names, and compresses the result of the integration into a second software package.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Software packing systems are provided. An exemplary embodiment thereof comprises a server and a database, which may be distinct entities coupled to each other, or integrated into one server.
As shown in
Server 10 may be a workstation, a web server (such as an Apache server), or a computer. Terminals 40-44 may comprise web browsers, such as web browser 421 in terminal 42. Server 10 can process Hypertext Markup Language (HTML) source codes to display Graphic User Interface (GUI) on browsers of terminals 40-44 and receive commands or data therefrom. For example, terminals 40-44 may upload data or updated files to server 10.
Database 20 stores a plurality of user accounts, passwords, and projects to which each user account ID corresponds, and software packages included in each project (such as software package 21). Each software package comprises one or more files. A portion of file group 420 in terminal 44 updates first portion 211 of software package 21. First portion 211 of software package 21 and file group 420 may comprise one or more files and respective directory structure. Each project comprises a list indicating software package component files therein. A software package with all component files therein is stored in the form of a compressed file in database 20. If a software package lacks component files, the software package is directly stored in database 20 without compression. Software packages in database 20 may comprise operating Systems (OS), applications, or other computer programs.
With reference to
After accepting to user identification, server 10 displays log record page 51 on browser 421 (step S10), as shown in
When hyperlink 515 is selected, server 10 displays project menu page 52 on browser 421 (step S12), as shown in
When a hyperlink (such as hyperlink 523) in project menu page 52 is selected, server 10 receives the selection from terminal 42, such as acquisition of a project title (such as “test3”) to which the selected hyperlink corresponds, (step S14) and displays a setting page (such as setting page 53) on browser 421 (step S16), as shown in
Field 534 receives a version number of a subsequently produced software package. Check box 535 provides and receives version type options of the subsequently produced software package, such as version types suitable for various OS. Check box 536 provides and receives mode options in which the subsequently produced software package is to be generated, such as normal and debug modes.
When button 537 is selected, server 10 receives settings required by setting page 53, comprising date, the version number, version type, and mode related to the subsequently produced software package (step S18). Server 10 then displays file-upload page 54 (step S19), as shown in
When button 543 is selected, server 10 receives file group 420 and the checksum through network 31 (step S20), automatically inputs file group 420 to checksum generator 11 (step S22), and determines if file group 420 is correctly received by comparing the output of checksum generator 11 with the received checksum (step S24). When the output is to the same as the checksum, server 10 determines that file group 420 has been correctly received and automatically performs the following steps.
In the given example concerning project test3, server 10 locates software package 21 according to project test3 selected in step S14 (step S25), determines if software package 21 of project test3 has been compressed (step S26). If so, server 10 decompresses software package 21 (step S28). As shown in
As shown in
In step S30, server 10 duplicates files other than file Fl to generate copy 212a comprising directories Dl, D2, D3, D5, files therein, and directory D4 except file Fl and maintains original directory structure. In step S31, server 10 locates directory D2 with the same name as directory D20 and places directory 60 into directory D2 to be a subdirectory thereof, files in directory 60 into the placed directory 60. Similarly, server 10 locates directory D4 with the same name as directory D40 and places file F10 into directory D4.
Server 10 automatically determines whether software package 22 comprises all component files based on a list of the selected project (step S32). If not, step S36 is performed. If so, server 10 automatically compresses copy 212a and file group 420 to generate a compressed file as software package 22 (step S34). Software package 22 comprising copy 212a and file group 420 may conform to International Organization for Standardization (ISO) compression file format.
Server 10 automatically generates a serial number of software package 22 (such as serial number 522 in
When simultaneously receiving a plurality of requests, server 10 performs the software packing operations by multitasking. When simultaneously receiving a plurality of update requests for software package 21 from different account IDs, server 10 generates updated versions of software package 21 by multitasking.
While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Number | Date | Country | Kind |
---|---|---|---|
TW93140032 | Dec 2004 | TW | national |