Cream the butter, cream cheese, and sugar together until smooth and soft. Add in the orange zest and eggs, and beat until well combined. Mix in the flour until a dough is formed. This may require a bit of kneading.
If you want to ferment the dough, leave it to rest at room temperature for 2-6 hours. See the section above for more details on fermenting the dough. Otherwise, leave the dough to rest for 10 minutes while you put together the filling. The dough can also be made in advance and stored in the fridge for up to 3 days.
To make the filling, mix the grated apple with lemon juice, cinnamon, and chopped raisins. Then stir in the walnuts.
To form the rugelach, divide the dough into three balls. Roll one ball out into a large circle, it should be about 1/4-inch (5 mm) thick.
Spread a thin layer of cream cheese over the circle, then sprinkle on 1/3 of the filling.
Cut the circle into 8 or 12 triangular wedges (depending on if you want large or small rugelach.)
Carefully roll the rugelach into a crescent shape. Place on a cookie sheet. They can be packed quite closely as they won’t rise very much. See the section above for more details, including photos, to help you form the rugelach.
Repeat the process with each of the other two balls of dough.
To get a puffier pastry, chill the formed rugelach for 30 minutes in the fridge before baking. For a crisp brown pastry, glaze with a beaten egg. (I haven’t done that for the photos).
Bake for 20-30 minutes at 375F, rotating halfway through to ensure even baking. Serve right away, or freeze for longer storage. (See the section above for details).
Using brown sugar or date sugar is the easiest way to cream the butter and cream cheese. Date sugar is not the same thing as chopped dates or date puree. It is a dry, sugar-like powder made from dates. I have made this with date sugar a number of times. The dough will be slightly drier, but still delicious!