Sorry I haven’t been responding this week, we’ve been a bit busy on a few fronts. Honestly, I need to take a look at DBTagStore and see how reusable it is, the fact that it’s in the API package is probably a mistake at this point. Still, some sort of straight forward way to work with external tags would be good, so I’ll see what we can do.
Now, your questions here are pretty straight-forward:
- You need to make the Profile and ProfileId hidden in your record using a static constructor:
[code]public static final LongField ProfileId = new LongField(META, “ProfileId”, SFieldFlags.SPRIMARY_KEY);
public static final ReferenceField Profile = new ReferenceField(META,
SQLTagProviderRecord.META, “Profile”, ProfileId);
- The description keys - PersistentRecords look for a localization file located next to themselves with the same name. In your case, create a file called “MyTagProviderSettingsRecord.properties” next to your class. Inside, define the values, such as:
MySetting.Name=My custom setting
As I mentioned, I don’t think DBTagStore is all too “3rd party friendly”, but I suppose you should be able to get somewhere with it. Making an entire tag provider is quite a bit more work, as you have to deal with scan classes as well, but I suppose it might be worth it. Maybe if you describe a bit more about the big picture of what you want to do, and the limitations of the SimpleTagProvider that you want to get around, I can guide you a bit more. Feel free to send it as a private message if you want.