Re: Any better ideas for file sharing?
Thomas Garson <tgarson-3Ml1UW5/cBpWk0Htik3J/[email protected]> Mon, 26 Mar 2012 12:56:17 -0700
| Newsgroups | gmane.comp.finance.moneydance.general |
|---|---|
| Message-ID | <[email protected]> |
I have a file server in my home network, running Suse 12.1, on which I
keep my Moneydance data file. For simplicity, the Money dance file is in
its own partition on the server.
I created a Moneydance Group, of which my wife, who uses a Windows XP
Compaq notebook that can be found almost anywhere in the house, and I,
who use a 64bit hex core AMD "desktop" running Suse 12.1, are members.
Root is the Moneydance files owner, but it is part of the Moneydance
Group which has read and write privileges.
Since Moneydance is not promoted as a multi-user product, we do not
attempt to access it at the same time, so I can't say how a usage
conflict would play out. However, as long as we "play nice" with it,
over a period of several years now, there have been no problems.
If your wife does not require the ability to make entries, then she does
not have to have write privileges to the file, which simplifies things
if she is running Windows, which does not always play nice with non
siblings (meaning any OS that did not originate from Microsoft). If only
you need write access then you could be the files owner and group and
your wife would be able to have read access as long as it was granted to
"Other".
If you use Windows, and are not into having a heterogeneous network, you
could mount a server using an older version of Windows server, such as
2000 or 2003, rather than Linux. Older Windows Server versions can
sometimes be had on eBay for cheap.
Tom Garson
Caveat:
If you have no experience with setting up and managing a network, you
have a fair amount of studying and work to do before getting to the
point of where you can share your Moneydance file . There is a lot more
to setting up a network than what I've described. The good news is that
there are a LOT of books that cover the subject quite thoroughly, for
both Linux and Windows.
------------------------------------------------------------------
On 03/25/2012 10:07 PM, Yaron Y. goland wrote:
> We run our finances off Moneydance on my main machine. My wife wants to
> be able to run reports and generally nose around our finances but that
> requires going to the main machine which for various reasons is
> inconvenient for her. She wanted me to put a copy of our Moneydance file
> on her laptop for read only purposes but this really freaked me out
> because that file is one stop shopping for stealing everything we own.
> So the compromise I came up with is the jython script below. It goes
> through and deletes all online service info, strips account numbers and
> routing numbers from all accounts, deletes all reminders and the address
> book. The workflow is:
>
> 1) Make a copy of the master file
> 2) Run the script below via the Jython extension
> 3) Save the copy and give to my wife
>
> A few questions:
>
> 1) Any other data I can safely nuke from the master file that will make
> stealing the copy less useful while still leaving all the core data so
> my wife can run reports, investigate expenses, etc.?
>
> 2) I hate the workflow. I wanted to automatically create a copy, clean
> up the copy, save it and then re-load the master. But while there is a
> method to point the Moneydance file at a new location I couldn't find an
> API to force Moneydance to save to the new location nor could I find an
> API to make Moneydance re-load from the old location. Any ideas there?
>
> Thanks,
>
> Yaron
>
> from com.moneydance.apps.md.model import Account
>
> # Thanks to
> http://help.infinitekind.com/discussions/financial-institution-direct-connection-support-requests/382-vanguard-download-http-error400
> for this function
> def deleteAllOnlineInfo(root):
> onlineInfo = root.getOnlineInfo()
> while onlineInfo.getServiceCount()>0:
> onlineInfo.removeService(0)
>
> def cleanAccount(acct):
> acct.setOFXAccountKey("0")
> acct.setOFXAccountNumber("0")
> acct.setOFXAccountType("0")
> acct.setOFXBankID("0")
> acct.setOFXBranchID("0")
> acct.setOFXBrokerID("0")
>
> def cleanBankAccount(acct):
> acct.setBankAccountNumber("0")
>
> def cleanCreditCard(acct):
> acct.setAnnualFee(0)
> acct.setAPRPercent(0)
> acct.setCardExpirationMonth(1)
> acct.setCardExpirationYear(2000)
> acct.setCardNumber("0")
> acct.setCreditLimit(0)
> acct.setOFXAccountNumber("0")
>
> def cleanInvestment(acct):
> acct.setInvestAccountNumber("0")
> acct.setOFXBrokerID("0")
>
> def cleanSecurity(acct):
> acct.setBrokerPhone("0")
>
> def doNothing(acct):
> pass
>
> def cleanAllAccounts(root):
> for id in range(root.getHighestAccountNum() + 1):
> acct = root.getAccountById(id)
> if (acct != None):
> cleanAccount(acct)
> pass # Moneydance Jython won't seem to let me define a dictionary on
> multiple lines
> { Account.ACCOUNT_TYPE_BANK : cleanBankAccount,
> Account.ACCOUNT_TYPE_CREDIT_CARD : cleanCreditCard,
> Account.ACCOUNT_TYPE_INVESTMENT : cleanInvestment,
> Account.ACCOUNT_TYPE_SECURITY :
> cleanSecurity}.get(acct.getAccountType(),doNothing)(acct)
>
> def deleteReminders(root):
> reminderSet = root.getReminderSet()
> reminderCount = reminderSet.getReminderCount()
> if (reminderCount > 0):
> for id in range(reminderSet.getReminderCount() + 1):
> reminderSet.removeReminder(reminderSet.getReminder(id))
>
> def deleteAddresses(root):
> addressBook = root.getAddressBook()
> while addressBook.getSize() > 0:
> addressBook.removeEntry(addressBook.getEntry(0))
>
> def cleanEntireFile(theFileToNeverRunThisProgramOn):
> root = moneydance.getRootAccount()
>
> if (root.getDataFile().getName() == theFileToNeverRunThisProgramOn):
> print "You idiot! You tried to run this data destroyer on your primary
> file!!!!"
> return
>
> print "Starting to nuke things"
> deleteAllOnlineInfo(root)
> cleanAllAccounts(root)
> deleteReminders(root)
> deleteAddresses(root)
> print "Nuking is complete, have a nice day"
>
> theFileToNeverRunThisProgramOn = "Moneydance.md"
> cleanEntireFile(theFileToNeverRunThisProgramOn)
> _______________________________________________
> For Moneydance customer support, please visit http://help.infinitekind.com
> [email protected]
> http://moneydance.com/mailman/listinfo/moneydance-info
>
_______________________________________________
For Moneydance customer support, please visit http://help.infinitekind.com
[email protected]
http://moneydance.com/mailman/listinfo/moneydance-info