8 Replies Latest reply: Nov 25, 2014 3:22 AM by VikingOSX
Alfetta Level 1 Level 1 (0 points)

I have recently bought and installed 'Lion' and now cannot open any of my saved files written on apple Works. Is there a way that I can open and save all my files.


MacBook (13-inch Late 2007), Mac OS X (10.7.4)
  • Peggy Level 8 Level 8 (38,490 points)

    The iWork applications - Keynote, Pages & Numbers - can only open AppleWorks 6 presentation, word processing & spreadsheet documents, respectively. They will not open any other type of AppleWorks 6 files or any AppleWorks 5 or any version of ClarisWorks files.

     

    The third-party application, EazyDraw (the expensive version), can open AppleWorks draw documents. If you still have access to AppleWorks you can copy the contents of draw documents, paste them into an AppleWorks word processing document in object mode (click the arrow in the tool panel), save the WP document & then open it in Pages. You can copy & paste from AppleWorks to Pages but you would have to do it object by object or it will be one big uneditable object.

     

    There is nothing other than AppleWorks that can open paint or database documents. Database data can be copied & pasted into an AppleWorks spreadsheet, saved & opened in Numbers or saved as ASCII/plain text & opened in most any spreadsheet, database or word processing program. Paint documents can be saved as one of many different formats to be opened in most image editing programs. I recommend using PICT for best results.

     

    Peggy_sig.png

  • randywilson99 Level 1 Level 1 (0 points)

    This is a late reply, but my dad just hit the same problem. He upgraded to Mac OS X Mavericks, and now his old ClarisWorks and AppleWorks programs no longer open in Pages. That seems like a terrible blunder by Apple to drop support for reading files generated by their own program. But there are a couple of workarounds. One is to get an older version of Pages that still reads those files, but you're living on borrowed time there.

     

    Another is to use the free software "Libre Office", which can read AppleWorks files and save them in other formats, such as Microsoft Word ".docx" format, which can be opened by Pages and also by MS Word. Conveneniently, Libre Office even lets you call it from the command line to convert individual files.

     

    So, being a Computer Scientist, I wrote a script to find all of the .cwk files in a directory (and its subdirectories), back them up to a backup directory ("cwkBackup"), and convert them all to MS Word ".docx" files. For this to work, you need to do this:

     

    1) Download and install the free LibreOffice software (http://www.libreoffice.org/download/libreoffice-fresh/)

    2) Download the script "cwk2docx.sh" (http://axon.cs.byu.edu/~randy/cwk2docx.sh), and put it in your home directory.

    3) Open the Terminal application from Applications/Utilities/Terminal.

    4) To see what Appleworks (.cwk) files you have, type "sh cwk2docx.sh -list ." (including the period, meaning "this directory"). Most likely, you only have .cwk files that you want to convert inside your "Documents" folder. But this will let you see if there are any hidden somewhere else that you want to convert, too.

    5) For each directory that contains Appleworks files that you want to convert, to this:

     

      sh cwk2docx.sh -process DirectoryName

     

    For example, you will most likely run

     

      sh cwk2docx.sh -process Documents

     

    This will convert all of the .cwk files to .docx files, and back the .cwk files up to the directory "cwkBackups". If for some reason you think this was all a bad idea and want to restore the .cwk files back where they were, you can do "sh cwk2docx.sh -restore" and it will move those files back to where they originally were.

     

    This saved my Dad's bacon, and hopefully will help others as well.

  • VikingOSX Level 6 Level 6 (8,890 points)

    It would appear that ClarisWorks/AppleWorks word processing and spreadsheet documents all have the .cwk file extension. Unfortunately, the UNIX file command only sees these documents as data on Mavericks. Older versions of OS X muttered something more detailed about these document types due to a different magic file entry. Attempting to convert a spreadsheet into a Word document may not proceed as planned.

     

    The following command will find all ClarisWorks/AppleWorks documents in the specified folder hierarchy, and return the full POSIX path to the individual documents. This could be handy in a do while read loop.

     

    while read acwk
    do
    # processing via LibreOffice
    done < <(mdfind -onlyin ~/Documents 'kMDItemContentType == "dyn.ah62d4rv4ge80g75p"')
    
  • randywilson99 Level 1 Level 1 (0 points)

    I wasn't dealing with spreadsheets, so that is a good point. Thanks.

  • fosnola Level 1 Level 1 (100 points)

    Hello,

    VikingOSX wrote:

     

    ...

     

    The following command will find all ClarisWorks/AppleWorks documents in the specified folder hierarchy, and return the full POSIX path to the individual documents. This could be handy in a do while read loop.

     

    1. while read acwk 
    2. do 
    3. # processing via LibreOffice 
    4. done < <(mdfind -onlyin ~/Documents 'kMDItemContentType == "dyn.ah62d4rv4ge80g75p"'

    I am not sure that this can be used to find all files, i.e. I have also in my test base some AppleWorks files with kMDItemContentType="com.apple.appleworks.document" ( which can be word processing, spreadsheet, database, ... )

     

    Concerning making such script, it is also possible to take inspiration :

    - either of the Yvan Koenig's AppleScript https://app.box.com/s/00qnssoyeq2xvc22ra4k/1/1005707281 (see http://macscripter.net/viewtopic.php?id=38406 ) ; at least to determine the document type...

    - or of mwawOSX ( in http://sourceforge.net/projects/libmwaw/files/ ) which is an AppleScript which calls directly a compiled version of the filter used by LibreOffice...

  • VikingOSX Level 6 Level 6 (8,890 points)

    Hi L.

     

    I have 64 .cwk files in a folder. Some are spreadsheets, drawings, and word processing documents. Using the kMDItemContentType in my previous example, it finds all of these files. Using 'kMDItemKind == "AppleWorks*"c' also works correctly. Your com.apple.appleworks.document example for kMDItemContentType, or even kMDItemContentTypeTree does not find any of my AppleWorks documents on Mavericks 10.9.5 or Yosemite 10.10.1.

     

    Yes, there is additional knowledge to be gleaned from the references and source code that you mention.

  • fosnola Level 1 Level 1 (100 points)

    Hello,

    I obtain with my bigger base of test files :

    > for i in */* ; do mdls -name kMDItemContentType "$i" ; done |sort -u

    kMDItemContentType = "com.apple.appleworks.document"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk2x4pphga5w8sm0"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk2x4qa"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk3d4641kvba"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk3d4641nrmu"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk3d4u41k7ma"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk3d4u41kvba"

    kMDItemContentType = "dyn.ah62d46dzqm0gw23ssz1gw8brqz6gn25zsvu0e5dfhk3d4u41nbna"

    kMDItemContentType = "dyn.ah62d4rv4ge80g73y"

    kMDItemContentType = "dyn.ah62d4rv4ge80g73yfzxxarmthe5a"

    kMDItemContentType = "dyn.ah62d4rv4ge80g75p"

    kMDItemContentType = "dyn.ah62d4rv4ge8xa"

    kMDItemContentType = "dyn.ah62d4rv4ge8xa1k"

    kMDItemContentType = "dyn.ah62d4rv4ge8xaqper7vw433ugu1xwru"

    kMDItemContentType = "dyn.ah62d4rv4gk81gz4xnq"

    kMDItemContentType = "dyn.ah62d4rv4gk8ygz41na"

    kMDItemContentType = "dyn.ah62d4rv4gk8ygz4ekk"

    kMDItemContentType = "dyn.ah62d4rv4gk8ygz4hnk"

    kMDItemContentType = "dyn.ah62d4rv4gk8ygz4unu"

    kMDItemContentType = "dyn.ah62d4rv4gk8ygz4xnq"

     

    and

     

    > for i in */* ; do mdls -name kMDItemKind "$i" ; done |sort -u

    kMDItemKind = "AppleWorks Document"

    kMDItemKind = "AppleWorks"

    kMDItemKind = "Document AppleWorks"

    kMDItemKind = "Document HTML"

    kMDItemKind = "Document"

    kMDItemKind = "Fichier exécutable Unix"

    ( not anormal as I found some file on the web and there were retrieved with a bad extension html, ... )

  • VikingOSX Level 6 Level 6 (8,890 points)

    I will bow to your larger AppleWorks collection.